स्प्रिंग 3.0 - XML ​​स्कीमा नामस्थान के लिए स्प्रिंग नेमस्पेसहैंडलर का पता लगाने में असमर्थ [http://www.springframework.org/schema/security]


179

कोई भी विचार इसका कारण क्या हो सकता है?

XML स्कीमा नामस्थान के लिए स्प्रिंग नेमस्पेसहैंडलर का पता लगाने में असमर्थ [ http://www.springframework.org/schema/security]

org.springframework.web.context.ContextLoader initWebApplicationContext: Context initialization failed
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/security]
Offending resource: ServletContext resource [/WEB-INF/applicationContext.xml]

यह मेरा आवेदन है। Context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/security
        http://www.springframework.org/schema/security/spring-security-3.0.xsd">
...
</beans:beans>

मेरे pom.xml में मेरे पास है:

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>      
    <version>3.0.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-openid</artifactId>
    <version>3.0.1.RELEASE</version>
</dependency>

जब मैंने स्प्रिंग पिज्ज़ाटॉप ट्यूटोरियल
रोब ग्रांट

क्या यह आपका पूरा pom.xml है? क्योंकि तब आपकी सबसे अधिक संभावना एक जार लापता है।
मार्को स्कूलेनबर्ग

जवाबों:


286

मुझे एक अतिरिक्त मावेन निर्भरता जोड़ने की आवश्यकता थी:

    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>3.0.1.RELEASE</version>
    </dependency>

3
मेरी समस्या को हल करने के लिए +1। : अधिक जानकारी पर वसंत सुरक्षा 3.0 codebase के पुनर्गठन पर पाया जा सकता blog.springsource.com/2009/06/03/spring-security-300m1-released
Rydell

अच्छा लिंक। मैं कुछ महीने पहले भी ऐसा कर सकता था।
टेलर लेसे

12
फिर भी फिर से बचा लिया बेकन!
एंड्रयू स्वान

इसी तरह का समाधान केवल spring-security-casजार का उपयोग करने का प्रयास करते समय होता है ।
रयान रैंफोर्ड

मैं समस्याओं से ग्रस्त लोगों के लिए इस लिंक की सिफारिश करता हूं Unable to locate Spring NamespaceHandler for XML schema namespace [xxxxx]। मेरे पास अतीत में एक समान मुद्दा था , और इससे मुझे बहुत मदद मिली!
Cotta

18

एप्लिकेशन को लागू करने का प्रयास करते समय मेरे पास एक ही त्रुटि संदेश था। वसंत में, सुरक्षा कॉन्फ़िगरेशन xml एक अलग हो सकता है ApplicationContext.xml, आमतौर पर WEB-INF फ़ोल्डर के अंदर ApplicationContext-security.xml। लागू होने वाले परिवर्तन web.xml के लिए हैं

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/applicationContext.xml
        /WEB-INF/applicationContext-security.xml
    </param-value>
</context-param>

और ApplicationContext.xml की तरह दिखेगा:

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">

    <http auto-config='true'>
        <intercept-url pattern="/login.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
        <intercept-url pattern="/**" access="ROLE_USER" />
        <form-login login-page='login.jsp'/>
    </http>

</beans:beans>

इन परिवर्तनों को करने के बाद भी, नाम स्थान त्रुटि मौजूद होगी। इससे छुटकारा पाने के लिए, निम्न जार फ़ाइलों को WEB-INF / lib में और फिर लाइब्रेरी में जोड़ें:

  • वसंत-सुरक्षा-एसीएल-3.1.0.M2.jar
  • वसंत-सुरक्षा-config-3.1.0.M2.jar
  • वसंत-सुरक्षा-कोर-3.1.0.M2.jar
  • वसंत-सुरक्षा-taglibs-3.1.0.M2.jar
  • वसंत-सुरक्षा-वेब-3.1.0.M2.jar

स्प्रिंग को प्राप्त करने के लिए आपको बहुत से मावेन का उपयोग करना होगा। और जब आप अनिच्छा से ऐसा करते हैं, तब भी यह काम नहीं करता है! कोई, कहीं न कहीं मुश्किल से हंस रहा है ... इस जवाब ने मेरी हताशा को थोड़ा कम करने में मदद की।
अर्ने एवरट्सन

12

मैं कुछ समय तक इससे जूझता रहा और इनमें से किसी भी उत्तर ने मदद नहीं की। User64141 की टिप्पणी के लिए धन्यवाद मुझे एहसास हुआ कि spring.handlersफाइलों के साथ एक समस्या थी ।

मैं एक मोटा जार उत्पन्न करने के लिए मावेन के लिए शेड प्लगइन का उपयोग कर रहा हूं, और प्रत्येक स्प्रिंग निर्भरता द्वारा सभी spring.handlers(और spring.schemas) फाइलें अधिलेखित की जा रही थीं।

मावेन साइट इस सटीक समस्या को शामिल करती है और इसके बजाय फाइलों को एक साथ जोड़कर इसे कैसे हल किया जाए:

http://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#AppendingTransformer


8

मैंने स्प्रिंग-सिक्योरिटी-कॉन्फिगर जार का इस्तेमाल किया, इससे मेरे लिए समस्या हल हो गई


6

समाधान निश्चित रूप से "वसंत-सुरक्षा-विन्यास" है जो आपके WEB-INF / lib में नहीं है।

मावेन का उपयोग करके ग्रहण में मेरी परियोजना के लिए, यह निकला कि मावेन निर्भरता के सभी को WEB-INF / lib में कॉपी नहीं किया जा रहा था। परियोजना को देखते हुए -> गुण -> तैनाती विधानसभा, केवल कुछ जार की नकल की जा रही थी।

इसे ठीक करने के लिए, मैंने "Add" पर क्लिक किया, फिर "Java Build Path Entires" और अंत में "Maven Dependencies" पर।

मैं एसओ और वेब को पिछले एक घंटे से खोज रहा हूं, इसलिए उम्मीद है कि इससे किसी और को मदद मिलेगी।



3

@ जेम्स जितिन - इस तरह के अपवाद तब भी दिखाई दे सकते हैं जब आपके पास सेम के दो अलग-अलग संस्करण हों और xsi में सुरक्षा स्कीमा: स्कीमालेकेशन। आपके द्वारा चिपकाए गए स्निपेट में ऐसा है:

xsi:schemaLocation="http://www.springframework.org/schema/beans   
 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
 http://www.springframework.org/schema/security  
 http://www.springframework.org/schema/security/spring-security-3.1.xsd"

मेरे मामले में उन दोनों को 3.1 में बदलने से समस्या हल हो गई


मैं अभी इसे पाने के लिए काम कर http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/security/spring-security-3.2.xsd रहा हूं : मेरे मामले में मेरे पास 'स्प्रिंग-सिक्योरिटी-कॉन्फिगरेशन' जार गायब था।
इटार

इस टिप्पणी से सहमत हैं। इस कारण से मेरा मुद्दा था।
डॉल्फिनजावा

2

मैंने क्या किया:

      <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>3.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>3.2.5.RELEASE</version>
        </dependency>

तथा

xsi:schemaLocation="
        http://www.springframework.org/schema/security 
        http://www.springframework.org/schema/security/spring-security-3.2.xsd
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-4.1.xsd">

परफेक्टली काम करता है। अधिक बाल्डुंग


0

यदि आपके पास पहले से ही अपने पोम में सभी निर्भरताएं हैं, तो कोशिश करें:
1. सभी डाउनलोड किए गए जार को हटा दें 'ऑर्ग-> स्प्रिंगफ्रामवर्क' के लिए अपने मैवेन रिपॉजिटरी फ़ोल्डर का
निर्माण करें 2. एक मैवेन क्लीन बिल्ड बनाएं।


0

मैंने आज इसी तरह की समस्या का सामना किया है। किसी कारण IntelliJ IDEAसे एप्लिकेशन को तैनात करते समय स्प्रिंग सुरक्षा जार फ़ाइलों को शामिल नहीं किया गया है। मुझे लगता है कि मुझे यहां के अधिकांश पोस्टरों से सहमत होना चाहिए।


0

कन्या को तैनात करते समय मुझे यह त्रुटि मिली। इसका समाधान मेरे बंडल आयातों में जोड़ना था:

org.springframework.transaction.config;version="[3.1,3.2)",

मैंने मेटा-इन के तहत स्प्रिंग जार में देखा कि एक स्प्रिंग है। किम और एक स्प्रिंग।हैंडलर सेक्शन, और वे जिस वर्ग को इंगित करते हैं (इस मामले में org.springframework.transaction.config.TxpamespaceHandler) को आयात किया जाना चाहिए।



0

कुछ मिनट पहले भी यही समस्या थी, मुझे अपनी तैनाती विधानसभा में 'मावेन डेपेंसेन्डीज़ लाइब्रेरी' की याद आ रही थी। मैंने इसे ग्रहण में अनुभाग 'वेब परिनियोजन असेंबली' के माध्यम से जोड़ा


0

यदि निर्भरता जोड़ने पर आपकी समस्या हल नहीं हुई, तो WAR संग्रह फिर से बनाएं। मेरे मामले में, मैंने सुरक्षा-वेब और सुरक्षा-गोपनीय जार के बिना अप्रचलित WAR फ़ाइल का उपयोग किया


0

अपनी pom.xml फ़ाइल में निम्न निर्भरता जोड़ें और यदि आप IntelliJ का उपयोग कर रहे हैं, तो WEB-INF-> lib फ़ोल्डर में एक ही जार जोड़ें .... पथ है प्रोजेक्ट संरचना -> Atrifacts -> उपलब्ध तत्वों फलक और डबल से जार का चयन करें। पर क्लिक करें। यह संबंधित फ़ोल्डर में जोड़ देगा

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>3.0.1.RELEASE</version>
</dependency>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.