2017-02-14 21 views
0

Я пытаюсь настроить Spring Security с помощью своего веб-приложения. Я включил следующие в моей pom.xmlSpring MVC + STS + Maven: WebSecurity не может быть разрешен. Он косвенно ссылается на требуемые .class файлы

<dependencies> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>4.3.5.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.17</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework.data</groupId> 
    <artifactId>spring-data-jpa</artifactId> 
    <version>1.10.6.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>commons-dbcp</groupId> 
    <artifactId>commons-dbcp</artifactId> 
    <version>1.4</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    <version>1.7.22</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>5.2.6.Final</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-ehcache</artifactId> 
    <version>5.2.6.Final</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.hibernate.javax.persistence</groupId> 
    <artifactId>hibernate-jpa-2.1-api</artifactId> 
    <version>1.0.0.Final</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-orm</artifactId> 
    <version>4.3.5.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.hsqldb</groupId> 
    <artifactId>hsqldb</artifactId> 
    <version>2.3.4</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-test</artifactId> 
    <version>4.3.5.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.thymeleaf</groupId> 
    <artifactId>thymeleaf-spring4</artifactId> 
    <version>3.0.3.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.webjars</groupId> 
    <artifactId>bootstrap</artifactId> 
    <version>3.3.7-1</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.webjars</groupId> 
    <artifactId>jquery</artifactId> 
    <version>3.1.1-1</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.webjars</groupId> 
    <artifactId>webjars-locator</artifactId> 
    <version>0.32</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version>2.8.6</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.webjars</groupId> 
    <artifactId>font-awesome</artifactId> 
    <version>4.7.0</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>javax.validation</groupId> 
    <artifactId>validation-api</artifactId> 
    <version>1.1.0.Final</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework.security</groupId> 
    <artifactId>spring-security-web</artifactId> 
    <version>4.2.1.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>4.3.5.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework.security</groupId> 
    <artifactId>spring-security-config</artifactId> 
    <version>3.2.0.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-core</artifactId> 
    <version>4.3.5.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 

Однако, когда я продлить WebSecurityConfigurerAdapter с классом по имени CustomWebSecurityConfigurer, я получаю эту ошибку от STS:

The type org.springframework.security.config.annotation.web.builders.WebSecurity cannot be resolved. It is indirectly referenced from required .class files 

The hierarchy of the type CustomWebSecurityConfigurer is inconsistent 

The project was not built since its build path is incomplete. Cannot find the class file for org.springframework.security.config.annotation.web.builders.WebSecurity. Fix the build path then try building this project 

Я нахожусь используя Spring Tools Suite 3.8.3.RELEASE

Я также попытался добавить Spring Framework Bom в мое управление dependecy, как описано в Spring Security Reference, но я все еще получаю сообщение об ошибке.

Эта ошибка не появляется, когда я изменить версию весна-безопасности-конфигурации к следующему:

<dependency> 
    <groupId>org.springframework.security</groupId> 
    <artifactId>spring-security-config</artifactId> 
    <version>3.2.0.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 

Мой CustomWebSecurityConfigurer не содержит ничего еще:

@Configuration 
@EnableWebSecurity 
public class CustomWebSecurityConfigurer extends WebSecurityConfigurerAdapter { 

    public CustomWebSecurityConfigurer() { 
     // TODO Auto-generated constructor stub 
    } 

} 

я получаю ошибку во время компиляции время.

+0

поделиться своим полным pom.xml – mhshimul

+0

совместно с пользователем CustomSecurityConfigurer. Также когда вы получаете эту ошибку; во время компиляции в STS или при запуске? –

+0

Используйте все «пружинные» банки той же версии. Он будет работать нормально. –

ответ

0

Единственная причина этого в том, что он не может найти файл WebSecurity.class, но он должен присутствовать в библиотеке, поскольку вы добавили требуемую зависимость. Это означает, что проблема заключается в
Либо эти библиотеки не находятся на пути построения
Поэтому убедитесь, что эти библиотеки находятся на пути сборки.

Или зависимости (файлы jar) не были загружены (это может быть не так).

Если ни одна из вышеупомянутых проблем не существует, очистите проект и обновите его. Если это тоже не работает, то просто обновите STS, выход и запустить его снова
Другое решение Принудительно обновить моментальные снимки (Maven)
правой кнопкой мыши на проекте, Maven -> Проект обновления [не забудьте проверьте силу обновления]. проверьте это изображение. image

+0

Я тоже пробовал, но это не сработало – Paul

0

Thanks Tahir. Я пробовал это уже, но это не сработало. Я думаю, что это ошибка maven, поэтому я удалил папку ~/.m2/repository, а затем перезапустил STS. Это сработало.

+0

круто, поэтому мой ответ не сработал: p –