将Spring项目从tomcat 7迁移到tomcat 8

斯尼布

我有一个Spring项目(MVC 4.2 +安全4.1 +休眠4.3)。我尝试将此项目从tomcat7迁移到tomcat8(tomcat7一切正常)。许多错误

我新的Eclipse项目设置conf:

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="jst.jaxrs" version="1.1"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="java" version="1.7"/>
  <installed facet="jst.web" version="3.1"/>
</faceted-project>

我的错误

HTTP Status 500 - Servlet.init() for servlet dispatcher threw exception

type Exception report

message Servlet.init() for servlet dispatcher threw exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet.init() for servlet dispatcher threw exception
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)
root cause

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.annotation.internalAsyncAnnotationProcessor' defined in org.springframework.scheduling.annotation.ProxyAsyncConfiguration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor]: Factory method 'asyncAdvisor' threw exception; nested exception is java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:228)
    org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:687)
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:523)
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:666)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:632)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:680)
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:551)
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:492)
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
    javax.servlet.GenericServlet.init(GenericServlet.java:158)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)
root cause

org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor]: Factory method 'asyncAdvisor' threw exception; nested exception is java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected
    org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:228)
    org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:687)
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:523)
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:666)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:632)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:680)
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:551)
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:492)
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
    javax.servlet.GenericServlet.init(GenericServlet.java:158)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)
root cause

java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected
    org.springframework.util.Assert.notNull(Assert.java:115)
    org.springframework.scheduling.annotation.ProxyAsyncConfiguration.asyncAdvisor(ProxyAsyncConfiguration.java:46)
    org.springframework.scheduling.annotation.ProxyAsyncConfiguration$$EnhancerBySpringCGLIB$$694eb5c3.CGLIB$asyncAdvisor$0(<generated>)
    org.springframework.scheduling.annotation.ProxyAsyncConfiguration$$EnhancerBySpringCGLIB$$694eb5c3$$FastClassBySpringCGLIB$$13254074.invoke(<generated>)
    org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356)
    org.springframework.scheduling.annotation.ProxyAsyncConfiguration$$EnhancerBySpringCGLIB$$694eb5c3.asyncAdvisor(<generated>)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:606)
    org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:228)
    org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:687)
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:523)
    org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:666)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:632)
    org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:680)
    org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:551)
    org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:492)
    org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
    javax.servlet.GenericServlet.init(GenericServlet.java:158)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)

dispatcher-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">

    <!-- Scans the classpath of this application for @Components to deploy as 
        beans -->
    <context:component-scan base-package="." />

    <!-- Configures the @Controller programming model -->
    <mvc:annotation-driven />

    <!-- Forwards requests to the "/" resource to the "welcome" view -->
<!--    <mvc:view-controller path="/" view-name="home"  /> -->

    <!-- Handles HTTP GET requests for /resources/** by efficiently serving 
        up static resources in the ${webappRoot}/resources/ directory -->
    <mvc:resources mapping="/resources/**" location="/resources/" />

    <!-- Configures Handler Interceptors -->
    <mvc:interceptors>
        <!-- Changes the locale when a 'language' request parameter is sent; e.g. 
            /?language=de -->
        <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
            <property name="paramName" value="language" />
        </bean>
        <mvc:interceptor>
            <mvc:mapping path="/**Creation**" />
            <mvc:mapping path="/**import**" />
            <mvc:mapping path="/**Import**" />
            <mvc:mapping path="/**update**" />
            <mvc:mapping path="/**Update**" />
            <mvc:mapping path="/**Deletion**" />
            <mvc:mapping path="/**delete**" />
            <mvc:mapping path="/**Copy**" />
            <mvc:mapping path="/**Merge**" />
            <mvc:mapping path="/**Publish**" />
            <bean class="fr.lis.xper3.utils.Xper3UpdateInterceptor"></bean>
        </mvc:interceptor>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <mvc:exclude-mapping path="/auth*"/>
            <mvc:exclude-mapping path="/security*"/>
            <mvc:exclude-mapping path="/kbEdition*"/>
            <mvc:exclude-mapping path="/resources/**"/>
            <mvc:exclude-mapping path="/"/>
            <mvc:exclude-mapping path="/user*"/>
            <mvc:exclude-mapping path="/admin*"/>
            <bean class="fr.lis.xper3.utils.Xper3DatasetInterceptor"></bean>
        </mvc:interceptor>
    </mvc:interceptors>

    <!-- Saves a locale change using the session or cookie -->
    <bean id="localeResolver"
        class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
        <property name="defaultLocale" value="en" />
    </bean>
    <!-- <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> 
        <property name="defaultLocale" value="en" /> </bean> -->

    <!-- Resolves view names to protected .jsp resources within the /WEB-INF/views 
        directory -->
    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>

</beans>

web.xml

<?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" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
 -->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

<!-- Application context definition -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
            /WEB-INF/web-application-context.xml
            /WEB-INF/security-application-context.xml
        </param-value>
  </context-param>
  <listener>
    <listener-class>
            fr.lis.xper3.utils.Xper3ServerListener
         </listener-class>
  </listener>
  <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>

  <!-- Reads request input using UTF-8 encoding -->
  <filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

 <!-- Handles all requests into the application --> 
  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>
                /WEB-INF/dispatcher-servlet.xml
            </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <listener>
    <listener-class>
            org.springframework.security.web.session.HttpSessionEventPublisher
        </listener-class>
  </listener>

<!-- session timeout --> 
  <session-config>
    <session-timeout>30</session-timeout>
  </session-config>

</web-app>

web-application-context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
                        http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
                        http://www.springframework.org/schema/context 
                        http://www.springframework.org/schema/context/spring-context-4.2.xsd">

    <!-- Properties loader -->
    <bean id="properties"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location"
            value="/resources/conf/web-application-conf.properties" />
    </bean>

    <!-- Application Message Bundle -->
    <bean id="messageSource"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="/resources/messages/messages" />
        <property name="cacheSeconds" value="0" />
        <property name="fileEncodings" value="UTF-8"/>
        <property name="defaultEncoding" value="UTF-8"/>

    </bean>

    <!-- Business bean -->
    <bean id="emailManager" class="fr.lis.xper3.utils.EmailManager">
        <constructor-arg type="java.lang.String" value="${email.host}" />
        <constructor-arg type="java.lang.String" value="${email.username}" />
        <constructor-arg type="java.lang.String" value="${email.password}" />
        <property name="from" value="${email.from}" />
        <property name="messageSource" ref="messageSource" />
    </bean>
    <bean id="errorMessageManager" class="fr.lis.xper3.utils.ErrorMessageManager">
        <property name="messageSource" ref="messageSource" />
    </bean>

    <!-- Configure the multipart resolver -->
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- one of the properties available; the maximum file size in bytes -->
        <property name="maxUploadSize" value="52428800" />
    </bean>

</beans>

安全应用程序上下文.xml

<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
                    http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
                    http://www.springframework.org/schema/security 
                    http://www.springframework.org/schema/security/spring-security-4.1.xsd">
    <!--  http://www.springframework.org/schema/security/spring-security-3.2.xsd -->

    <!-- disable all security filtering for resources -->
    <http pattern="/resources/**" security="none" />
    <http pattern="/favicon.ico" security="none" />


    <http use-expressions="true">
        <intercept-url pattern="/" access="permitAll" />
        <intercept-url pattern="/auth*" access="permitAll" />
        <intercept-url pattern="/user*" access="permitAll" />
        <intercept-url pattern="/admin*" access="hasRole('ROLE_ADMIN')" />
        <intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
        <intercept-url pattern="/robot.txt" access="permitAll" />
        <form-login login-page="/authlogin" default-target-url="/kbEdition"
            authentication-failure-url="/authloginfailed" />
        <logout logout-success-url="/" />

        <custom-filter position="CONCURRENT_SESSION_FILTER" ref="concurrencyFilter" />
        <!-- <custom-filter position="FORM_LOGIN_FILTER" ref="myAuthFilter" /> -->
        <session-management
            session-authentication-strategy-ref="sas" />
        <csrf disabled="true" />
    </http>

    <beans:bean id="concurrencyFilter" class="org.springframework.security.web.session.ConcurrentSessionFilter">
        <!-- <beans:property name="sessionRegistry" ref="sessionRegistry" /> SB-->
        <beans:constructor-arg ref="sessionRegistry"/>
    <!--    <beans:property name="expiredUrl" value="/session-expired.htm" /> SB-->
    </beans:bean>

<!-- SB C New -->
    <beans:bean id="sas" class="org.springframework.security.web.authentication.session.CompositeSessionAuthenticationStrategy">
        <beans:constructor-arg>
            <beans:list>
                <beans:bean class="org.springframework.security.web.authentication.session.ConcurrentSessionControlAuthenticationStrategy">
                    <beans:constructor-arg ref="sessionRegistry"/>
                    <beans:property name="maximumSessions" value="1" />
                </beans:bean>
                <beans:bean class="org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy"/>
                <beans:bean class="org.springframework.security.web.authentication.session.RegisterSessionAuthenticationStrategy">
                    <beans:constructor-arg ref="sessionRegistry"/>
                </beans:bean>
            </beans:list>
        </beans:constructor-arg>
    </beans:bean>
<!-- END C New -->


    <beans:bean id="sessionRegistry"
        class="org.springframework.security.core.session.SessionRegistryImpl" />

    <beans:bean id="xper3AuthenticationProvider"
        class="fr.lis.xper3.security.Xper3AuthenticationProvider"></beans:bean>

    <authentication-manager alias="authenticationManager"><!-- New for rest : alias="authenticationManager" -->
        <authentication-provider ref='xper3AuthenticationProvider'>
        </authentication-provider>
    </authentication-manager>

</beans:beans> 

谢谢你的帮助。也许您需要其他文件?西尔万

斯尼布

由于此错误使我的问题得以解决,因此我的问题得以解决:

root cause
java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected

在我的dispatcher-servlet.xml中,我具有以下与Tomcat 7一起使用的基本软件包行:

<context:component-scan base-package="." />

实际上,使用tomcat8,您显然需要指示一个唯一的可识别软件包,例如“ org.yourcompany”。如果像我一样,您有一个无法识别的软件包,您可能会收到此错误。因此,就我而言,我不得不更改为:

<context:component-scan base-package="fr.lis" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Tomcat 7迁移到8时的Jsf实现版本NullPointerException

来自分类Dev

迁移到tomcat 8后,别名不再起作用

来自分类Dev

将laravel 7迁移到8时出错

来自分类Dev

将项目从 tomcat-5.5 迁移到 tomcat-7 导致 LifecycleException 和 Lorg/apache/catalina/util/StringManager not found

来自分类Dev

无法将JSF + CDI项目从Tomcat迁移到Wildfly

来自分类Dev

将 Google Endpoint V1 迁移到 V2,将 Java 7 迁移到 Java 8

来自分类Dev

将tomcat战争迁移到JBoss

来自分类Dev

将 Web 服务从 Tomcat 迁移到 Wildly

来自分类Dev

使用Hibernate + DataSource将应用程序从Tomcat 7迁移到Weblogic 12

来自分类Dev

将Java 7迁移到循环到Java 8的列表中

来自分类Dev

将 java 7 迁移到 java 8 - forEach in forEach 中的 forEach 并导致 HashMap?

来自分类Dev

将 java 7 迁移到 java 8 - forEach 中的 forEach 用于 HashMap 中的 HashMap?

来自分类Dev

将 java 7 迁移到 java 8 - 集合中的 forEach 和 addAll?

来自分类Dev

从Xcode 7迁移到Xcode 8

来自分类Dev

迁移到Tomcat 7和MyFaces 2.2之后,找不到omnifaces.GenericEnumConverter

来自分类Dev

从weblogic迁移到tomcat:目录映射

来自分类Dev

如果输入为空,如何将 java 7 迁移到 java 8 - forEach 并返回 List<Object> 或 null?

来自分类Dev

将Spring Boot应用程序部署到Tomcat 8

来自分类Dev

Spring JavaConfig和Tomcat 8

来自分类Dev

Spring Boot Gradle Tomcat 8

来自分类Dev

如何将现有的phonegap android项目迁移到Windows8或IOS

来自分类Dev

将网站迁移到IBM Web Content Manager 8

来自分类Dev

Win8将HDD迁移到SSD

来自分类Dev

将网站迁移到IBM Web Content Manager 8

来自分类Dev

从Java 7迁移到Java 8-编译错误

来自分类Dev

将Grails WAR文件从Tomcat 7部署到Tomcat 8会导致Ehcache错误

来自分类Dev

将项目迁移到Gradle

来自分类Dev

将MySQL UTF8迁移到UTF8MB4问题和疑问

来自分类Dev

将GlassFish迁移到Tomcat会引发java.lang.NoClassDefFoundError:com / sun / enterprise / InjectionException

Related 相关文章

  1. 1

    从Tomcat 7迁移到8时的Jsf实现版本NullPointerException

  2. 2

    迁移到tomcat 8后,别名不再起作用

  3. 3

    将laravel 7迁移到8时出错

  4. 4

    将项目从 tomcat-5.5 迁移到 tomcat-7 导致 LifecycleException 和 Lorg/apache/catalina/util/StringManager not found

  5. 5

    无法将JSF + CDI项目从Tomcat迁移到Wildfly

  6. 6

    将 Google Endpoint V1 迁移到 V2,将 Java 7 迁移到 Java 8

  7. 7

    将tomcat战争迁移到JBoss

  8. 8

    将 Web 服务从 Tomcat 迁移到 Wildly

  9. 9

    使用Hibernate + DataSource将应用程序从Tomcat 7迁移到Weblogic 12

  10. 10

    将Java 7迁移到循环到Java 8的列表中

  11. 11

    将 java 7 迁移到 java 8 - forEach in forEach 中的 forEach 并导致 HashMap?

  12. 12

    将 java 7 迁移到 java 8 - forEach 中的 forEach 用于 HashMap 中的 HashMap?

  13. 13

    将 java 7 迁移到 java 8 - 集合中的 forEach 和 addAll?

  14. 14

    从Xcode 7迁移到Xcode 8

  15. 15

    迁移到Tomcat 7和MyFaces 2.2之后,找不到omnifaces.GenericEnumConverter

  16. 16

    从weblogic迁移到tomcat:目录映射

  17. 17

    如果输入为空,如何将 java 7 迁移到 java 8 - forEach 并返回 List<Object> 或 null?

  18. 18

    将Spring Boot应用程序部署到Tomcat 8

  19. 19

    Spring JavaConfig和Tomcat 8

  20. 20

    Spring Boot Gradle Tomcat 8

  21. 21

    如何将现有的phonegap android项目迁移到Windows8或IOS

  22. 22

    将网站迁移到IBM Web Content Manager 8

  23. 23

    Win8将HDD迁移到SSD

  24. 24

    将网站迁移到IBM Web Content Manager 8

  25. 25

    从Java 7迁移到Java 8-编译错误

  26. 26

    将Grails WAR文件从Tomcat 7部署到Tomcat 8会导致Ehcache错误

  27. 27

    将项目迁移到Gradle

  28. 28

    将MySQL UTF8迁移到UTF8MB4问题和疑问

  29. 29

    将GlassFish迁移到Tomcat会引发java.lang.NoClassDefFoundError:com / sun / enterprise / InjectionException

热门标签

归档