java.lang.NoClassDefFoundError:org / springframework / context / EnvironmentAware [英] java.lang.NoClassDefFoundError: org/springframework/context/EnvironmentAware

查看:3732
本文介绍了java.lang.NoClassDefFoundError:org / springframework / context / EnvironmentAware的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用spring mvc创建一个Web应用程序。我已经开始整合了Spring Security库。当我尝试使用eclipse将其部署到tomcat时,我现在在tomcat日志中收到以下错误。



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




  • spring框架版本3.1.1.RELEASE

  • spring框架安全版本3.1.0.RELEASE



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



这是tomcat日志

  SEVERE:异常启动过滤器springSecurityFilterChain 
java.lang .NoClassDefFoundError:org / springframework / context / EnvironmentAware
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
在org.apache.catalina.loader.WebappClassLoader.findClassInternal( WebappClass Loader.java:2820)
在org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1150)
在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java: 1645)
在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
在java.lang.ClassLoader.defineClass1(本机方法)
在java.lang。 ClassLoader.defineClassCond(ClassLoader.java:631)
在java.lang.ClassLoader.defineClass(ClassLoader.java:615)
在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
在org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2820)
在org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1150)
在org .apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
在org.apache.catalina .core.DefaultInstanceManager.load Class(DefaultInstanceManager.java:415)
在org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
在org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager。 java:118)
在org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:252)
在org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
在org.apache.catalina.core.ApplicationFilterConfig。< init>(ApplicationFilterConfig.java:98)
在org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4584)$在$ org.apache.catalina.core.StandardContext $ 2.call(StandardContext.java:5257)
b java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303)
在java.util.concurrent.FutureTask.run(FutureTask.java:138)
在java.util。 concurrent.ThreadPoolExecu tor $ Worker.runTask(ThreadPoolExecutor.java:886)
在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:908)
在java.lang.Thread.run(Thread。 java:680)
导致:java.lang.ClassNotFoundException:org.springframework.context.EnvironmentAware
在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
... 30更多

这里是我的web.xml文件

 <?xml version =1.0encoding = UTF-8 >?; 
< web-app xmlns:xsi =http://www.w3.org/2001/XMLSchema-instance
xmlns =http://java.sun.com/xml/ns / javaee
xmlns:web =http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
xsi:schemaLocation =http://java.sun .com / xml / ns / javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
id =WebApp_IDversion =2.5>
<! -
显示名称用于显示应用程序的简短名称,
将显示在Tomcat Manager应用程序中。
当在< security-constraint>中使用时,该标签为安全约束提供一个名称

- >
< display-name> ImaginateFramework< / display-name>

< welcome-file-list>
< welcome-file> index.jsp< / welcome-file>
< / welcome-file-list>
< servlet>
< servlet-name> spring< / servlet-name>
< servlet-class>
org.springframework.web.servlet.DispatcherServlet
< / servlet-class>
< load-on-startup> 1< / load-on-startup>
< / servlet>
< servlet-mapping>
< servlet-name> spring< / servlet-name>
< url-pattern> /< / url-pattern>
< / servlet-mapping>
< servlet-mapping>
< servlet-name> spring< / servlet-name>
< url-pattern> * .html | * .htm | * .xhtm | * .jsp | * .jsf | * .php | * .pl | * .cf< / url-pattern>
< / servlet-mapping>


<! - 安全配置 - >
< 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>



这是我的spring-servlet .xml文件

 <?xml version =1.0encoding =UTF-8 ?> 
< beans xmlns =http://www.springframework.org/schema/beans
xmlns:security =http://www.springframework.org/schema/security
xmlns:xsi =http://www.w3.org/2001/XMLSchema-instancexmlns:aop =http://www.springframework.org/schema/aop
xmlns:context = http://www.springframework.org/schema/context
xmlns:jee =http://www.springframework.org/schema/jeexmlns:lang =http://www.springframework。 org / schema / lang
xmlns:p =http://www.springframework.org/schema/pxmlns:tx =http://www.springframework.org/schema/tx
xmlns:util =http://www.springframework.org/schema/utilxmlns:mvc =http://www.springframework.org/schema/mvc
xsi:schemaLocation =http ://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/ SPRI ng-context.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
http:// www .springframework.org / schema / lang http://www.springframework.org/schema/lang/spring-lang.xsd
http://www.springframework.org/schema/tx http:// www。 springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http:// www .springframework.org / schema / security
http://www.springframework.org/schema/security/spring-security-3.1.xsd\">

< security:ldap-server />
< security:http auto-config ='true'>
< security:intercept-url pattern =/ **access =ROLE_USER/>
< / security:http>
< security:authentication-manager>
< security:authentication-provider>
< security:user-service>
< security:user name =adminpassword =password
authority =ROLE_USER,ROLE_ADMIN/>
< security:user name =bobpassword =bobauthority =ROLE_USER/>
< / security:user-service>
< / security:authentication-provider>
< / security:authentication-manager>


< context:annotation-config />
< context:component-scan base-package =com.imaginatelabs.imaginate_framework.mvc/>
< mvc:注释驱动/>
< mvc:resources location =/ images /mapping =/ images / **/>
< mvc:resources location =/ scripts /mapping =/ scripts / **/>
< mvc:resources location =/ themes /mapping =/ themes / **/>
< mvc:interceptors>
< bean id =localeChangeInterceptor
class =org.springframework.web.servlet.i18n.LocaleChangeInterceptor>
< property name =paramNamevalue =lang/>
< / bean>
< bean id =themeChangeInterceptor
class =org.springframework.web.servlet.theme.ThemeChangeInterceptor>
< property name =paramNamevalue =theme/>
< / bean>
< / mvc:interceptors>

< bean id =jspViewResolver
class =org.springframework.web.servlet.view.InternalResourceViewResolver>
< property name =viewClass
value =org.springframework.web.servlet.view.JstlView/>
< property name =prefixvalue =/ WEB-INF / jsp //>
< property name =suffixvalue =。jsp/>
< property name =ordervalue =1/>
< / bean>

< bean id =propertyConfigurer
class =org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
p:location =/ WEB-INF / jdbc。属性/>

< bean id =dataSourceclass =org.apache.commons.dbcp.BasicDataSource
destroy-method =closep:driverClassName =$ {jdbc.driverClassName p $ password =$ {jdbc.user} p:

<! - Hibernate组件 - >
< bean id =sessionFactory
class =org.springframework.orm.hibernate3.LocalSessionFactoryBean>
< property name =dataSourceref =dataSource/>
< property name =configLocation>
< value> classpath:hibernate.cfg.xml< / value>
< / property>
< property name =configurationClass>
< value> org.hibernate.cfg.AnnotationConfiguration< / value>
< / property>
< property name =hibernateProperties>
<道具>
< prop key =hibernate.dialect> $ {jdbc.dialect}< / prop>
< prop key =hibernate.show_sql> true< / prop>
< / props>
< / property>
< / bean>

< tx:注释驱动/>
< bean id =transactionManager
class =org.springframework.orm.hibernate3.HibernateTransactionManager>
< property name =sessionFactoryref =sessionFactory/>
< / bean>

<! - 瓷砖组件 - >
< bean id =tilesViewResolver
class =org.springframework.web.servlet.view.UrlBasedViewResolver>
< property name =viewClass
value =org.springframework.web.servlet.view.tiles2.TilesView/>
< property name =ordervalue =0/>
< / bean>
< bean id =tilesConfigurer
class =org.springframework.web.servlet.view.tiles2.TilesConfigurer>
< property name =definitions>
< list>
< value> /WEB-INF/tiles.xml< / value>
< / list>
< / property>
< / bean>
<! - 语言组件 - >

< bean id =messageSource
class =org.springframework.context.support.ReloadableResourceBundleMessageSource>
< property name =basenamevalue =classpath:messages/>
< property name =defaultEncodingvalue =UTF-8/>
< / bean>

< bean id =localeResolver
class =org.springframework.web.servlet.i18n.CookieLocaleResolver>
< property name =defaultLocalevalue =en/>
< / bean>

<! - 主题组件 - >
< bean id =themeSource
class =org.springframework.ui.context.support.ResourceBundleThemeSource>
< property name =basenamePrefixvalue =theme-/>
<! - 我可以配置它来查看服务器上的目录吗? - >
< / bean>

< bean id =themeResolver
class =org.springframework.web.servlet.theme.CookieThemeResolver>
< property name =defaultThemeNamevalue =default/>
< / bean>



(编辑)
pom.xml

 < 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 / XSD /行家-4.0.0.xsd>
< modelVersion> 4.0.0< / modelVersion>
< groupId> myapp< / groupId>
< artifactId> MyApp< / artifactId>
< packaging> war< / packaging>
< version> 0.0.1-SNAPSHOT< / version>
< name> App< / name>
< build>
< plugins>
< plugin>
< groupId> org.apache.maven.plugins< / groupId>
< artifactId> maven-war-plugin< / artifactId>
< version> 2.1.1< / version>
< / plugin>
< plugin>
< groupId> org.apache.maven.plugins< / groupId>
< artifactId> maven-compiler-plugin< / artifactId>
< version> 2.3.2< / version>
< configuration>
< source> 1.6< / source>
< target> 1.6< / target>
< / configuration>
< / plugin>
< / plugins>
< / build>
<属性>
< org.springframework.version> 3.1.1.RELEASE< /org.springframework.version>
< org.springframework.security.version> 3.1.0.RELEASE< /org.springframework.security.version>
< org.apache.tiles> 3.0.0< /org.apache.tiles>
< project.build.sourceEncoding> UTF-8< /project.build.sourceEncoding>
< / properties>
<依赖关系>
<依赖关系>
< groupId> commons-beanutils< / groupId>
< artifactId> commons-beanutils< / artifactId>
< version> 1.8.0< / version>
< / dependency>
<依赖关系>
< groupId> commons-digester< / groupId>
< artifactId> commons-digester< / artifactId>
< version> 2.0< / version>
< / dependency>
<依赖关系>
< groupId> log4j< / groupId>
< artifactId> log4j< / artifactId>
< version> 1.2.16< / version>
< / dependency>
<依赖关系>
< groupId> org.slf4j< / groupId>
< artifactId> slf4j-api< / artifactId>
< version> 1.5.8< / version>
< / dependency>
<依赖关系>
< groupId> org.slf4j< / groupId>
< artifactId> slf4j-log4j12< / artifactId>
< version> 1.4.2< / version>
< / dependency>
<依赖关系>
< groupId> org.apache.tiles< / groupId>
< artifactId> tiles-api< / artifactId>
< version> $ {org.apache.tiles}< / version>
< / dependency>
<依赖关系>
< groupId> org.apache.tiles< / groupId>
< artifactId> tiles-core< / artifactId>
< version> $ {org.apache.tiles}< / version>
< / dependency>
<依赖关系>
< groupId> org.apache.tiles< / groupId>
< artifactId> tiles-jsp< / artifactId>
< version> $ {org.apache.tiles}< / version>
< / dependency>
<依赖关系>
< groupId> org.apache.tiles< / groupId>
< artifactId> tiles-servlet< / artifactId>
< version> $ {org.apache.tiles}< / version>
< / dependency>
<依赖关系>
< groupId> org.apache.tiles< / groupId>
< artifactId> tiles-template< / artifactId>
< version> $ {org.apache.tiles}< / version>
< / dependency>
<依赖关系>
< groupId> javax.servlet< / groupId>
< artifactId> servlet-api< / artifactId>
< version> 2.5< / version>
< / dependency>
<! -
<依赖关系>
< groupId> org.springframework.webflow< / groupId>
< artifactId> spring-webflow< / artifactId>
< version> 2.3.1.RELEASE< / version>
< / dependency>
- >
<依赖关系>
< groupId> org.springframework.security< / groupId>
< artifactId> spring-security-web< / artifactId>
< version> $ {org.springframework.security.version}< / version>
< / dependency>
<依赖关系>
< groupId> org.springframework.security< / groupId>
< artifactId> spring-security-config< / artifactId>
< version> $ {org.springframework.security.version}< / version>
< / dependency>
<依赖关系>
< groupId> org.springframework< / groupId>
< artifactId> spring-beans< / artifactId>
< version> $ {org.springframework.version}< / version>
< / dependency>
<依赖关系>
< groupId> org.springframework< / groupId>
< artifactId> spring-jdbc< / artifactId>
< version> $ {org.springframework.version}< / version>
< / dependency>
<依赖关系>
< groupId> org.springframework< / groupId>
< artifactId> spring-web< / artifactId>
< version> $ {org.springframework.version}< / version>
< / dependency>
<依赖关系>
< groupId> org.springframework< / groupId>
< artifactId> spring-webmvc< / artifactId>
< version> $ {org.springframework.version}< / version>
< / dependency>
<依赖关系>
< groupId> org.springframework< / groupId>
< artifactId> spring-orm< / artifactId>
< version> $ {org.springframework.version}< / version>
< / dependency>
<依赖关系>
< groupId> hibernate< / groupId>
< artifactId> hibernate-entitymanager< / artifactId>
< version> 3.4.0.GA< / version>
< / dependency>
<依赖关系>
< groupId> taglibs< / groupId>
< artifactId> standard< / artifactId>
< version> 1.1.2< / version>
< / dependency>
<依赖关系>
< groupId> javax.servlet< / groupId>
< artifactId> jstl< / artifactId>
< version> 1.2< / version>
< / dependency>
<依赖关系>
< groupId> mysql< / groupId>
< artifactId> mysql-connector-java< / artifactId>
< version> 5.1.10< / version>
< / dependency>
<依赖关系>
< groupId> commons-dbcp< / groupId>
< artifactId> commons-dbcp< / artifactId>
< version> 20030825.184428< / version>
< / dependency>
<依赖关系>
< groupId> commons-pool< / groupId>
< artifactId> commons-pool< / artifactId>
< version> 20030825.183949< / version>
< / dependency>
<依赖关系>
< groupId> org.apache.commons< / groupId>
< artifactId> commons-lang3< / artifactId>
< version> 3.1< / version>
< / dependency>
< / dependencies>

解决方案

EnvironmentAware位于spring-context-3.1.1.RELEASE.jar中,所以你没有那个。



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


I'm creating a web application using spring mvc. I have started to incorporate the Spring Security libraries. I'm now getting the following error in the tomcat log when I try to deploy it to tomcat with eclipse.

I'm using the following jar versions in my library

  • spring framework version 3.1.1.RELEASE
  • spring framework security version 3.1.0.RELEASE

I'm also using STS version of eclipse, maven and vmware vfabric tc Server (bundled with sts).

Here's the tomcat log

    SEVERE: Exception starting filter springSecurityFilterChain
java.lang.NoClassDefFoundError: org/springframework/context/EnvironmentAware
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2820)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1150)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2820)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1150)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:252)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:98)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4584)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5262)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5257)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: org.springframework.context.EnvironmentAware
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
... 30 more

and here's my web.xml file

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<!--
    Display Name is used vides a short name for the application, 
    which will be displayed in the Tomcat Manager application.
    When used in <security-constraint>, this tag provides a name 
    for the security constraint.  
-->
<display-name>ImaginateFramework</display-name>

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.html|*.htm|*.xhtm|*.jsp|*.jsf|*.php|*.pl|*.cf</url-pattern>
</servlet-mapping>


<!-- Security Config -->
<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>

and here's my spring-servlet.xml file

<?xml  version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:lang="http://www.springframework.org/schema/lang"
xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
    http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
    http://www.springframework.org/schema/security
    http://www.springframework.org/schema/security/spring-security-3.1.xsd">

<security:ldap-server />
<security:http auto-config='true'>
    <security:intercept-url pattern="/**" access="ROLE_USER" />
</security:http>
<security:authentication-manager>
    <security:authentication-provider>
        <security:user-service>
            <security:user name="admin" password="password"
                authorities="ROLE_USER, ROLE_ADMIN" />
            <security:user name="bob" password="bob" authorities="ROLE_USER" />
        </security:user-service>
    </security:authentication-provider>
</security:authentication-manager>


<context:annotation-config />
<context:component-scan base-package="com.imaginatelabs.imaginate_framework.mvc" />
<mvc:annotation-driven />
<mvc:resources location="/images/" mapping="/images/**" />
<mvc:resources location="/scripts/" mapping="/scripts/**" />
<mvc:resources location="/themes/" mapping="/themes/**" />
<mvc:interceptors>
    <bean id="localeChangeInterceptor"
        class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
        <property name="paramName" value="lang" />
    </bean>
    <bean id="themeChangeInterceptor"
        class="org.springframework.web.servlet.theme.ThemeChangeInterceptor">
        <property name="paramName" value="theme" />
    </bean>
</mvc:interceptors>

<bean id="jspViewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
    <property name="order" value="1" />
</bean>

<bean id="propertyConfigurer"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
    p:location="/WEB-INF/jdbc.properties" />

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    destroy-method="close" p:driverClassName="${jdbc.driverClassName}"
    p:url="${jdbc.databaseurl}" p:username="${jdbc.username}" p:password="${jdbc.password}" />

<!-- Hibernate Components -->
<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation">
        <value>classpath:hibernate.cfg.xml</value>
    </property>
    <property name="configurationClass">
        <value>org.hibernate.cfg.AnnotationConfiguration</value>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">${jdbc.dialect}</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
</bean>

<tx:annotation-driven />
<bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

<!-- Tiles Components -->
<bean id="tilesViewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.tiles2.TilesView" />
    <property name="order" value="0" />
</bean>
<bean id="tilesConfigurer"
    class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/tiles.xml</value>
        </list>
    </property>
</bean>
<!-- Language Components -->

<bean id="messageSource"
    class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basename" value="classpath:messages" />
    <property name="defaultEncoding" value="UTF-8" />
</bean>

<bean id="localeResolver"
    class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
    <property name="defaultLocale" value="en" />
</bean>

<!-- Theme Components -->
<bean id="themeSource"
    class="org.springframework.ui.context.support.ResourceBundleThemeSource">
    <property name="basenamePrefix" value="theme-" />
    <!-- Can I configure this to look in a directory on the server? -->
</bean>

<bean id="themeResolver"
    class="org.springframework.web.servlet.theme.CookieThemeResolver">
    <property name="defaultThemeName" value="default" />
</bean>

(edit) pom.xml

<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>myapp</groupId>
<artifactId>MyApp</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>App</name>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>
<properties>
    <org.springframework.version>3.1.1.RELEASE</org.springframework.version>
    <org.springframework.security.version>3.1.0.RELEASE</org.springframework.security.version>
    <org.apache.tiles>3.0.0</org.apache.tiles>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.8.0</version>
    </dependency>
    <dependency>
        <groupId>commons-digester</groupId>
        <artifactId>commons-digester</artifactId>
        <version>2.0</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.5.8</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.4.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-api</artifactId>
        <version>${org.apache.tiles}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-core</artifactId>
        <version>${org.apache.tiles}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-jsp</artifactId>
        <version>${org.apache.tiles}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-servlet</artifactId>
        <version>${org.apache.tiles}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-template</artifactId>
        <version>${org.apache.tiles}</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <!-- 
    <dependency> 
        <groupId>org.springframework.webflow</groupId> 
        <artifactId>spring-webflow</artifactId> 
        <version>2.3.1.RELEASE</version> 
    </dependency> 
    -->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>${org.springframework.security.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>${org.springframework.security.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>3.4.0.GA</version>
    </dependency>
    <dependency>
        <groupId>taglibs</groupId>
        <artifactId>standard</artifactId>
        <version>1.1.2</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.10</version>
    </dependency>
    <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>20030825.184428</version>
    </dependency>
    <dependency>
        <groupId>commons-pool</groupId>
        <artifactId>commons-pool</artifactId>
        <version>20030825.183949</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.1</version>
    </dependency>
</dependencies>

解决方案

EnvironmentAware is located in the spring-context-3.1.1.RELEASE.jar, so you are missing that one.

Also recheck your Maven POM file so that you are not missing any other Spring library, like spring-web, spring-webmvc (you may have these since the DispatcherServlet class if found), spring-orm if you use an ORM like Hibernate, spring-jms if you use JMS, etc.

这篇关于java.lang.NoClassDefFoundError:org / springframework / context / EnvironmentAware的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆