0

我对弹簧安全有一些奇怪的行为。

当我加载应用程序时出现异常

严重:异常启动过滤器 springSecurityFilterChain java.lang.NoClassDefFoundError: org/springframework/core/convert/support/PropertyTypeDescriptor

WEB.XML:

<web-app>
<display-name>Archetype Created Web Application</display-name>
 <filter>
  <filter-name>springSecurityFilterChain</filter-name>
  <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
  <filter-name>springSecurityFilterChain</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping> 
 <servlet>
 <servlet-name>default</servlet-name>
    <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationSecurityContext.xml</param-value>
    </init-param>
   <load-on-startup>1</load-on-startup>       
</servlet>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

POM.XML:

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

谢谢

4

2 回答 2

1

根据PropertyTypeDescriptor 和 Spring 3.1.2的问题是,截至spring-core 3.1.0.RELEASEPropertyTypeDescriptor被删除。

spring-security-core 3.1.0.RELEASE取决于pomspring-core 3.0.6.RELEASE状态。

因此 NoClassDefFoundError。

我建议降级到spring-core to 3.0.6.RELEASE.

spring-security几天前将依赖项更新为 spring 3.2.4.RELEASE。看看github里的评论https://github.com/spring-projects/spring-security

“SEC-2294:23 天前将 Spring 版本更新为 3.2.4.RELEASE”

于 2013-09-23T12:56:33.327 回答
0

EnvironmentAware 位于 spring-context-3.1.1.RELEASE.jar 中,因此您缺少那个。

还要重新检查您的 Maven POM 文件,这样您就不会丢失任何其他 Spring 库,例如 spring-web、spring-webmvc(如果找到了 DispatcherServlet 类,您可能会拥有这些库)、spring-orm 如果您使用像 Hibernate、spring 这样的 ORM -jms 如果你使用 JMS 等

于 2013-09-23T12:59:24.033 回答