복붙노트

[SPRING] Spring 3.0 - XML ​​스키마 네임 스페이스 용 Spring NamespaceHandler를 찾을 수 없음 [http://www.springframework.org/schema/security]

SPRING

Spring 3.0 - XML ​​스키마 네임 스페이스 용 Spring NamespaceHandler를 찾을 수 없음 [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]

이것은 내 applicationContext.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>

해결법

  1. ==============================

    1.추가 Maven 종속성을 추가해야했습니다.

    추가 Maven 종속성을 추가해야했습니다.

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

    2.응용 프로그램을 배포하는 동안 동일한 오류 메시지가 표시되었습니다. Spring에서는 보안 설정 xml이 applicationContext.xml과 다를 수 있으며 대개 WEB-INF 폴더 내의 applicationContext-security.xml이 될 수 있습니다. 적용 할 변경 사항은 web.xml입니다.

    응용 프로그램을 배포하는 동안 동일한 오류 메시지가 표시되었습니다. Spring에서는 보안 설정 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>
    

    이러한 변경을 수행 한 후에도 네임 스페이스 오류가 발생합니다. 이것을 없애기 위해 다음 jar 파일을 WEB-INF / lib에 추가 한 다음 라이브러리에 추가하십시오.

  3. ==============================

    3.나는 잠시 동안 이것으로 고생했으며이 답변들 중 어느 것도 도움이되지 못했습니다. user64141의 의견에 감사 드리며 spring.handlers 파일에 문제가 있음을 깨달았습니다.

    나는 잠시 동안 이것으로 고생했으며이 답변들 중 어느 것도 도움이되지 못했습니다. user64141의 의견에 감사 드리며 spring.handlers 파일에 문제가 있음을 깨달았습니다.

    Shaven 플러그인을 사용하여 Maven에 fat jar 파일을 생성하고 모든 spring.handlers (및 spring.schemas) 파일을 각 Spring 종속성에 의해 덮어 썼습니다.

    Maven 사이트는이 정확한 문제와 파일을 함께 추가하여 해결하는 방법을 다룹니다.

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

  4. ==============================

    4.나에게 문제를 해결 한 spring-security-config jar를 사용했다.

    나에게 문제를 해결 한 spring-security-config jar를 사용했다.

  5. ==============================

    5.해결책은 WEB-INF / lib가 아닌 "spring-security-config"입니다.

    해결책은 WEB-INF / lib가 아닌 "spring-security-config"입니다.

    Maven을 사용하는 이클립스 내 프로젝트의 경우, 모든 maven 의존성이 WEB-INF / lib에 복사되지는 않았다. Project -> Properties -> Deployment Assembly에서 일부 jar 파일 만 복사 중입니다.

    이 문제를 해결하기 위해 "Add", "Java Build Path Entries"및 마지막으로 "Maven Dependencies"를 클릭했습니다.

    나는 이것을 찾기 위해 지난 시간 동안 웹과 웹을 검색 했으므로 다른 사람에게 도움이되기를 바랍니다.

  6. ==============================

    6.Maven 의존성에 대한 좋은 목록이 Spring Site에있다. 필요한 주요 아티팩트는 다음과 같습니다.

    Maven 의존성에 대한 좋은 목록이 Spring Site에있다. 필요한 주요 아티팩트는 다음과 같습니다.

  7. ==============================

    7.@James Jithin - 이러한 예외는 xsi : schemaLocation에 두 가지 다른 버전의 bean 및 보안 스키마가있는 경우에도 나타날 수 있습니다. 붙여 넣은 스 니펫의 경우입니다.

    @James Jithin - 이러한 예외는 xsi : schemaLocation에 두 가지 다른 버전의 bean 및 보안 스키마가있는 경우에도 나타날 수 있습니다. 붙여 넣은 스 니펫의 경우입니다.

    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을 변경 문제를 해결

  8. ==============================

    8.제가 한:

    제가 한:

          <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">
    

    완벽하게 작동합니다. 더 많은 Baeldung

  9. ==============================

    9.이미 pom에 모든 종속성이있는 경우 다음을 시도하십시오. 1. 다운로드 한 모든 jar 파일을 'org-> springframework'에 대한 maven 저장소 폴더에서 제거하십시오. 2. 메이븐 빌드를 깨끗하게 만듭니다.

    이미 pom에 모든 종속성이있는 경우 다음을 시도하십시오. 1. 다운로드 한 모든 jar 파일을 'org-> springframework'에 대한 maven 저장소 폴더에서 제거하십시오. 2. 메이븐 빌드를 깨끗하게 만듭니다.

  10. ==============================

    10.나는 오늘날 이와 비슷한 문제에 직면 해있다. 어떤 이유로 IntelliJ IDEA는 응용 프로그램을 배포하는 동안 Spring Security jar 파일을 포함시키지 않았습니다. 나는 포스터의 대다수에 동의해야한다고 생각한다.

    나는 오늘날 이와 비슷한 문제에 직면 해있다. 어떤 이유로 IntelliJ IDEA는 응용 프로그램을 배포하는 동안 Spring Security jar 파일을 포함시키지 않았습니다. 나는 포스터의 대다수에 동의해야한다고 생각한다.

  11. ==============================

    11.Virgo에 배포하는 동안이 오류가 발생했습니다. 해결 방법은 내 번들 가져 오기에 다음을 추가하는 것입니다.

    Virgo에 배포하는 동안이 오류가 발생했습니다. 해결 방법은 내 번들 가져 오기에 다음을 추가하는 것입니다.

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

    나는 META-INF 아래의 Spring jars에서 spring.schemas와 spring.handlers 섹션이 있음을 알았고 그들이 가리키는 클래스 (이 경우에는 org.springframework.transaction.config.TxNamespaceHandler)를 가져와야한다.

  12. ==============================

    12.나는이 해결책을 찾았다.

    나는이 해결책을 찾았다.

    http://www.javacreed.com/unable-to-locate-spring-namespacehandler-for-xml-schema-namespace-httpwww-springframework-orgschemamvc/

    프로젝트에이 항아리를 포함 시키십시오.

  13. ==============================

    13.몇 분전에 같은 문제가 발생했습니다. 저는 배포 어셈블리에서 'Maven depencendies'라이브러리를 놓치고있었습니다. 이클립스의 '웹 전개 어셈블리'섹션을 통해 추가했다.

    몇 분전에 같은 문제가 발생했습니다. 저는 배포 어셈블리에서 'Maven depencendies'라이브러리를 놓치고있었습니다. 이클립스의 '웹 전개 어셈블리'섹션을 통해 추가했다.

  14. ==============================

    14.종속성을 추가해도 문제가 해결되지 않으면 WAR 아카이브를 다시 작성하십시오. 필자의 경우, security-web 및 security-conf jars가없는 오래된 WAR 파일을 사용했습니다.

    종속성을 추가해도 문제가 해결되지 않으면 WAR 아카이브를 다시 작성하십시오. 필자의 경우, security-web 및 security-conf jars가없는 오래된 WAR 파일을 사용했습니다.

  15. ==============================

    15.pom.xml 파일에 다음 종속성을 추가하고 IntelliJ를 사용하는 경우 WEB-INF-> lib 폴더에 동일한 병을 추가하십시오. 경로는 Project Structure -> Atrifacts -> Available Elements 창에서 jar 선택 및 double 딸깍 하는 소리. 각 폴더에 추가됩니다.

    pom.xml 파일에 다음 종속성을 추가하고 IntelliJ를 사용하는 경우 WEB-INF-> lib 폴더에 동일한 병을 추가하십시오. 경로는 Project Structure -> Atrifacts -> Available Elements 창에서 jar 선택 및 double 딸깍 하는 소리. 각 폴더에 추가됩니다.

    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>3.0.1.RELEASE</version>
    </dependency>
    
  16. from https://stackoverflow.com/questions/2161050/spring-3-0-unable-to-locate-spring-namespacehandler-for-xml-schema-namespace by cc-by-sa and MIT license