[SPRING] Spring security3 "spring-security-2.0.xsd 스키마를 사용할 수 없습니다"
SPRINGSpring security3 "spring-security-2.0.xsd 스키마를 사용할 수 없습니다"
나는 계속 ...
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: You cannot use a spring-security-2.0.xsd schema with Spring Security 3.0. Please update your schema declarations to the 3.0 schema.
Offending resource: ServletContext resource [/WEB-INF/spring/root-context.xml]
내 root-context.xml은 ...
<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 use-expressions="true">
<intercept-url pattern="/**" access="permitAll" />
<form-login />
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="rod" password="koala" authorities="supervisor, teller, user" />
<user name="dianne" password="emu" authorities="teller, user" />
<user name="scott" password="wombat" authorities="user" />
<user name="peter" password="opal" authorities="user" />
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
내 pom.xml에서 사용하고있는 Spring의 버전은 ...
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.david</groupId>
<artifactId>myapp</artifactId>
<name>abc</name>
<packaging>war</packaging>
<version>1.0.0-BUILD-SNAPSHOT</version>
<properties>
<java-version>1.6</java-version>
<org.springframework-version>3.0.6.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.9</org.aspectj-version>
<org.slf4j-version>1.5.10</org.slf4j-version>
</properties>
<dependencies>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.6.9.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
<scope>runtime</scope>
</dependency>
<!-- @Inject -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>abc</warName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>install</id>
<phase>install</phase>
<goals>
<goal>sources</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
이것으로부터 스키마가> 3.0이고 봄과 봄 보안 스키마 모두에 문제가 무엇인지 알 수는 없지만 누구나 아이디어가 있습니까?
감사,
데이비드
해결법
-
==============================
1.당신이 가리키는 스키마는 spring-security-3.1.xsd이지만, pom.xml은 spring-security-config-3.0.1.RELEASE를 선언합니다. 스프링 보안 버전을 업데이트하거나 스프링 보안 네임 스페이스 버전을 다운 그레이드해야합니다. 버전을 변경할 때 모든 Spring 버전이 일치하고 모든 Spring Security 버전이 일치하는지 확인하십시오. (이것은 이행 적 종속성을 포함합니다) 그렇지 않으면 이상한 오류가 발생합니다.
당신이 가리키는 스키마는 spring-security-3.1.xsd이지만, pom.xml은 spring-security-config-3.0.1.RELEASE를 선언합니다. 스프링 보안 버전을 업데이트하거나 스프링 보안 네임 스페이스 버전을 다운 그레이드해야합니다. 버전을 변경할 때 모든 Spring 버전이 일치하고 모든 Spring Security 버전이 일치하는지 확인하십시오. (이것은 이행 적 종속성을 포함합니다) 그렇지 않으면 이상한 오류가 발생합니다.
-
==============================
2.@ Rob Winch는 절대적으로 옳습니다. 업데이트 된 spring-security.xml 파일의 예제가 있습니다.
@ Rob Winch는 절대적으로 옳습니다. 업데이트 된 spring-security.xml 파일의 예제가 있습니다.
<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.1.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="/welcome*" access="ROLE_USER" /> </http> <authentication-manager> <authentication-provider> <user-service> <user name="user" password="user" authorities="ROLE_USER" /> </user-service> </authentication-provider> </authentication-manager> </beans:beans>
희망이 도움이됩니다.
-
==============================
3.spring-security.xml 파일에서 버전 3.1을 삭제하면됩니다.
spring-security.xml 파일에서 버전 3.1을 삭제하면됩니다.
from https://stackoverflow.com/questions/8916993/spring-security3-you-cannot-use-a-spring-security-2-0-xsd-schema by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 특정 날짜의 Cron 식 (0) | 2019.03.25 |
---|---|
[SPRING] 스프링 부트를 사용하면서 동적 속성을 구성하는 방법은 무엇입니까? (0) | 2019.03.25 |
[SPRING] Spring을 통해 Bean에 Google guava 캐시 빌더 주입 (0) | 2019.03.25 |
[SPRING] 테스트 스위트를 실행하는 동안 예외가 발생하는 Ehcache 종료 (0) | 2019.03.25 |
[SPRING] Typesafe Config로 지원되는 Spring 환경 (0) | 2019.03.25 |