2013-12-10 3 views
0

Я добавил в свое приложение Spring MVC (3.2.5) библиотеки Spring Security (версия 3.1.4) в мой pom.xml для работы с Spring Security (см. добавленные зависимости позже). Но теперь не выполняйте аннотации, которые я использую в своих классах конфигурации.Весенние аннотации не работают после добавления библиотек Spring Security (Maven)

Что я делаю неправильно?

Это ошибка Eclipse:

enter image description here

Сообщения об ошибках:

enter image description here

Spring зависимостей в pom.xml (аннотаций работать с ним):

<dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>${spring.version}</version> 
    </dependency> 

зависимостей Spring Security в pom.xml (аннотации не работают с ней):

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

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

    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     <version>3.1.4.RELEASE</version> 
    </dependency> 
+0

Вы используете плагин maven eclipse? –

+0

@reagten - да, я делаю. – user2148736

ответ

3

с весны-безопасности основного 3.1.4.RELEASE имеет зависимость от пружинного контекста 3.0.7.RELEASE вас» необходимо явно добавить зависимость для spring-context 3.2.5.RELEASE, чтобы заставить maven использовать последнюю версию.

По меньшей мере .ComponentScan был добавлен только в 3.1.

EDIT: как заявил М. Deinum, используйте <dependencyManagement> блок, в котором вы определяете все версии зависимостей. таким образом, вы можете оставить любые теги <version> в своем «основном» блоке <dependencies>.

+2

Правильно. В общем, я использую блок '' в maven для принудительного использования версий конкретной структуры. –

+0

Ну, я решил проблему зависимостей из моего первоначального вопроса, но теперь мне нужно расширить 'WebSecurityConfigurerAdapter', и этот класс был добавлен в Spring Security 3.2.0.RC. Разрешима ли она? – user2148736

+0

затем обновите свои весенне-безопасные * зависимости от 3.2.0 –

Смежные вопросы