java.lang.NoClassDefFoundError:org / springframework / context / EnvironmentAware

前端之家收集整理的这篇文章主要介绍了java.lang.NoClassDefFoundError:org / springframework / context / EnvironmentAware前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 spring mvc创建一个Web应用程序.我已经开始整合了 Spring Security库.当我尝试使用eclipse将其部署到tomcat时,我在tomcat日志中收到以下错误.

我在我的库中使用以下jar版本

> spring框架版本3.1.1.RELEASE
> spring framework安全版本3.1.0.RELEASE

我也在使用STS版本的eclipse,maven和vmware vfabric tc Server(与sts捆绑在一起).

这是tomcat日志

  1. SEVERE: Exception starting filter springSecurityFilterChain
  2. java.lang.NoClassDefFoundError: org/springframework/context/EnvironmentAware
  3. at java.lang.ClassLoader.defineClass1(Native Method)
  4. at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
  5. at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
  6. at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
  7. at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2820)
  8. at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1150)
  9. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
  10. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
  11. at java.lang.ClassLoader.defineClass1(Native Method)
  12. at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
  13. at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
  14. at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
  15. at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2820)
  16. at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1150)
  17. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
  18. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
  19. at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
  20. at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
  21. at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
  22. at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:252)
  23. at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
  24. at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
  25. at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4584)
  26. at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5262)
  27. at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5257)
  28. at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
  29. at java.util.concurrent.FutureTask.run(FutureTask.java:138)
  30. at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
  31. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
  32. at java.lang.Thread.run(Thread.java:680)
  33. Caused by: java.lang.ClassNotFoundException: org.springframework.context.EnvironmentAware
  34. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
  35. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
  36. ... 30 more

这是我的web.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  6. id="WebApp_ID" version="2.5">
  7. <!--
  8. Display Name is used vides a short name for the application,which will be displayed in the Tomcat Manager application.
  9. When used in <security-constraint>,this tag provides a name
  10. for the security constraint.
  11. -->
  12. <display-name>ImaginateFramework</display-name>
  13.  
  14. <welcome-file-list>
  15. <welcome-file>index.jsp</welcome-file>
  16. </welcome-file-list>
  17. <servlet>
  18. <servlet-name>spring</servlet-name>
  19. <servlet-class>
  20. org.springframework.web.servlet.DispatcherServlet
  21. </servlet-class>
  22. <load-on-startup>1</load-on-startup>
  23. </servlet>
  24. <servlet-mapping>
  25. <servlet-name>spring</servlet-name>
  26. <url-pattern>/</url-pattern>
  27. </servlet-mapping>
  28. <servlet-mapping>
  29. <servlet-name>spring</servlet-name>
  30. <url-pattern>*.html|*.htm|*.xhtm|*.jsp|*.jsf|*.PHP|*.pl|*.cf</url-pattern>
  31. </servlet-mapping>
  32.  
  33.  
  34. <!-- Security Config -->
  35. <filter>
  36. <filter-name>springSecurityFilterChain</filter-name>
  37. <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
  38. </filter>
  39.  
  40. <filter-mapping>
  41. <filter-name>springSecurityFilterChain</filter-name>
  42. <url-pattern>/*</url-pattern>
  43. </filter-mapping>

这是我的spring-servlet.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:security="http://www.springframework.org/schema/security"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xmlns:jee="http://www.springframework.org/schema/jee" xmlns:lang="http://www.springframework.org/schema/lang"
  7. xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
  8. xmlns:util="http://www.springframework.org/schema/util" xmlns:mvc="http://www.springframework.org/schema/mvc"
  9. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
  10. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
  11. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
  12. http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
  13. http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
  14. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
  15. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
  16. http://www.springframework.org/schema/mvc
  17. http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
  18. http://www.springframework.org/schema/security
  19. http://www.springframework.org/schema/security/spring-security-3.1.xsd">
  20.  
  21. <security:ldap-server />
  22. <security:http auto-config='true'>
  23. <security:intercept-url pattern="/**" access="ROLE_USER" />
  24. </security:http>
  25. <security:authentication-manager>
  26. <security:authentication-provider>
  27. <security:user-service>
  28. <security:user name="admin" password="password"
  29. authorities="ROLE_USER,ROLE_ADMIN" />
  30. <security:user name="bob" password="bob" authorities="ROLE_USER" />
  31. </security:user-service>
  32. </security:authentication-provider>
  33. </security:authentication-manager>
  34.  
  35.  
  36. <context:annotation-config />
  37. <context:component-scan base-package="com.imaginatelabs.imaginate_framework.mvc" />
  38. <mvc:annotation-driven />
  39. <mvc:resources location="/images/" mapping="/images/**" />
  40. <mvc:resources location="/scripts/" mapping="/scripts/**" />
  41. <mvc:resources location="/themes/" mapping="/themes/**" />
  42. <mvc:interceptors>
  43. <bean id="localeChangeInterceptor"
  44. class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
  45. <property name="paramName" value="lang" />
  46. </bean>
  47. <bean id="themeChangeInterceptor"
  48. class="org.springframework.web.servlet.theme.ThemeChangeInterceptor">
  49. <property name="paramName" value="theme" />
  50. </bean>
  51. </mvc:interceptors>
  52.  
  53. <bean id="jspViewResolver"
  54. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  55. <property name="viewClass"
  56. value="org.springframework.web.servlet.view.JstlView" />
  57. <property name="prefix" value="/WEB-INF/jsp/" />
  58. <property name="suffix" value=".jsp" />
  59. <property name="order" value="1" />
  60. </bean>
  61.  
  62. <bean id="propertyConfigurer"
  63. class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
  64. p:location="/WEB-INF/jdbc.properties" />
  65.  
  66. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  67. destroy-method="close" p:driverClassName="${jdbc.driverClassName}"
  68. p:url="${jdbc.databaseurl}" p:username="${jdbc.username}" p:password="${jdbc.password}" />
  69.  
  70. <!-- Hibernate Components -->
  71. <bean id="sessionFactory"
  72. class="org.springframework.orm.hibernate3.LocalSessionfactorybean">
  73. <property name="dataSource" ref="dataSource" />
  74. <property name="configLocation">
  75. <value>classpath:hibernate.cfg.xml</value>
  76. </property>
  77. <property name="configurationClass">
  78. <value>org.hibernate.cfg.AnnotationConfiguration</value>
  79. </property>
  80. <property name="hibernateProperties">
  81. <props>
  82. <prop key="hibernate.dialect">${jdbc.dialect}</prop>
  83. <prop key="hibernate.show_sql">true</prop>
  84. </props>
  85. </property>
  86. </bean>
  87.  
  88. <tx:annotation-driven />
  89. <bean id="transactionManager"
  90. class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  91. <property name="sessionFactory" ref="sessionFactory" />
  92. </bean>
  93.  
  94. <!-- Tiles Components -->
  95. <bean id="tilesViewResolver"
  96. class="org.springframework.web.servlet.view.UrlBasedViewResolver">
  97. <property name="viewClass"
  98. value="org.springframework.web.servlet.view.tiles2.TilesView" />
  99. <property name="order" value="0" />
  100. </bean>
  101. <bean id="tilesConfigurer"
  102. class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
  103. <property name="definitions">
  104. <list>
  105. <value>/WEB-INF/tiles.xml</value>
  106. </list>
  107. </property>
  108. </bean>
  109. <!-- Language Components -->
  110.  
  111. <bean id="messageSource"
  112. class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
  113. <property name="basename" value="classpath:messages" />
  114. <property name="defaultEncoding" value="UTF-8" />
  115. </bean>
  116.  
  117. <bean id="localeResolver"
  118. class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
  119. <property name="defaultLocale" value="en" />
  120. </bean>
  121.  
  122. <!-- Theme Components -->
  123. <bean id="themeSource"
  124. class="org.springframework.ui.context.support.ResourceBundleThemeSource">
  125. <property name="basenamePrefix" value="theme-" />
  126. <!-- Can I configure this to look in a directory on the server? -->
  127. </bean>
  128.  
  129. <bean id="themeResolver"
  130. class="org.springframework.web.servlet.theme.CookieThemeResolver">
  131. <property name="defaultThemeName" value="default" />
  132. </bean>

(编辑)
的pom.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>myapp</groupId>
  5. <artifactId>MyApp</artifactId>
  6. <packaging>war</packaging>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <name>App</name>
  9. <build>
  10. <plugins>
  11. <plugin>
  12. <groupId>org.apache.maven.plugins</groupId>
  13. <artifactId>maven-war-plugin</artifactId>
  14. <version>2.1.1</version>
  15. </plugin>
  16. <plugin>
  17. <groupId>org.apache.maven.plugins</groupId>
  18. <artifactId>maven-compiler-plugin</artifactId>
  19. <version>2.3.2</version>
  20. <configuration>
  21. <source>1.6</source>
  22. <target>1.6</target>
  23. </configuration>
  24. </plugin>
  25. </plugins>
  26. </build>
  27. <properties>
  28. <org.springframework.version>3.1.1.RELEASE</org.springframework.version>
  29. <org.springframework.security.version>3.1.0.RELEASE</org.springframework.security.version>
  30. <org.apache.tiles>3.0.0</org.apache.tiles>
  31. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  32. </properties>
  33. <dependencies>
  34. <dependency>
  35. <groupId>commons-beanutils</groupId>
  36. <artifactId>commons-beanutils</artifactId>
  37. <version>1.8.0</version>
  38. </dependency>
  39. <dependency>
  40. <groupId>commons-digester</groupId>
  41. <artifactId>commons-digester</artifactId>
  42. <version>2.0</version>
  43. </dependency>
  44. <dependency>
  45. <groupId>log4j</groupId>
  46. <artifactId>log4j</artifactId>
  47. <version>1.2.16</version>
  48. </dependency>
  49. <dependency>
  50. <groupId>org.slf4j</groupId>
  51. <artifactId>slf4j-api</artifactId>
  52. <version>1.5.8</version>
  53. </dependency>
  54. <dependency>
  55. <groupId>org.slf4j</groupId>
  56. <artifactId>slf4j-log4j12</artifactId>
  57. <version>1.4.2</version>
  58. </dependency>
  59. <dependency>
  60. <groupId>org.apache.tiles</groupId>
  61. <artifactId>tiles-api</artifactId>
  62. <version>${org.apache.tiles}</version>
  63. </dependency>
  64. <dependency>
  65. <groupId>org.apache.tiles</groupId>
  66. <artifactId>tiles-core</artifactId>
  67. <version>${org.apache.tiles}</version>
  68. </dependency>
  69. <dependency>
  70. <groupId>org.apache.tiles</groupId>
  71. <artifactId>tiles-jsp</artifactId>
  72. <version>${org.apache.tiles}</version>
  73. </dependency>
  74. <dependency>
  75. <groupId>org.apache.tiles</groupId>
  76. <artifactId>tiles-servlet</artifactId>
  77. <version>${org.apache.tiles}</version>
  78. </dependency>
  79. <dependency>
  80. <groupId>org.apache.tiles</groupId>
  81. <artifactId>tiles-template</artifactId>
  82. <version>${org.apache.tiles}</version>
  83. </dependency>
  84. <dependency>
  85. <groupId>javax.servlet</groupId>
  86. <artifactId>servlet-api</artifactId>
  87. <version>2.5</version>
  88. </dependency>
  89. <!--
  90. <dependency>
  91. <groupId>org.springframework.webflow</groupId>
  92. <artifactId>spring-webflow</artifactId>
  93. <version>2.3.1.RELEASE</version>
  94. </dependency>
  95. -->
  96. <dependency>
  97. <groupId>org.springframework.security</groupId>
  98. <artifactId>spring-security-web</artifactId>
  99. <version>${org.springframework.security.version}</version>
  100. </dependency>
  101. <dependency>
  102. <groupId>org.springframework.security</groupId>
  103. <artifactId>spring-security-config</artifactId>
  104. <version>${org.springframework.security.version}</version>
  105. </dependency>
  106. <dependency>
  107. <groupId>org.springframework</groupId>
  108. <artifactId>spring-beans</artifactId>
  109. <version>${org.springframework.version}</version>
  110. </dependency>
  111. <dependency>
  112. <groupId>org.springframework</groupId>
  113. <artifactId>spring-jdbc</artifactId>
  114. <version>${org.springframework.version}</version>
  115. </dependency>
  116. <dependency>
  117. <groupId>org.springframework</groupId>
  118. <artifactId>spring-web</artifactId>
  119. <version>${org.springframework.version}</version>
  120. </dependency>
  121. <dependency>
  122. <groupId>org.springframework</groupId>
  123. <artifactId>spring-webmvc</artifactId>
  124. <version>${org.springframework.version}</version>
  125. </dependency>
  126. <dependency>
  127. <groupId>org.springframework</groupId>
  128. <artifactId>spring-orm</artifactId>
  129. <version>${org.springframework.version}</version>
  130. </dependency>
  131. <dependency>
  132. <groupId>hibernate</groupId>
  133. <artifactId>hibernate-entitymanager</artifactId>
  134. <version>3.4.0.GA</version>
  135. </dependency>
  136. <dependency>
  137. <groupId>taglibs</groupId>
  138. <artifactId>standard</artifactId>
  139. <version>1.1.2</version>
  140. </dependency>
  141. <dependency>
  142. <groupId>javax.servlet</groupId>
  143. <artifactId>jstl</artifactId>
  144. <version>1.2</version>
  145. </dependency>
  146. <dependency>
  147. <groupId>MysqL</groupId>
  148. <artifactId>MysqL-connector-java</artifactId>
  149. <version>5.1.10</version>
  150. </dependency>
  151. <dependency>
  152. <groupId>commons-dbcp</groupId>
  153. <artifactId>commons-dbcp</artifactId>
  154. <version>20030825.184428</version>
  155. </dependency>
  156. <dependency>
  157. <groupId>commons-pool</groupId>
  158. <artifactId>commons-pool</artifactId>
  159. <version>20030825.183949</version>
  160. </dependency>
  161. <dependency>
  162. <groupId>org.apache.commons</groupId>
  163. <artifactId>commons-lang3</artifactId>
  164. <version>3.1</version>
  165. </dependency>
  166. </dependencies>

我试图在这里找到一个可能类似的帖子,但不幸的是没有什么是这样的,所以对我的问题的任何见解将是巨大的.春天来了,我是个新手.
先谢谢了!

解决方法

EnvironmentAware位于spring-context-3.1.1.RELEASE.jar中,因此您将丢失该文件.

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

猜你在找的Java相关文章