java struts spring from java 6 to 8/命名空间类不能为null

java struts spring from java 6 to 8/命名空间类不能为null,java,spring,struts,javabeans,upgrade,Java,Spring,Struts,Javabeans,Upgrade,我正在尝试从Java6和Java8升级JavaWeb应用程序 这是一个5层的应用程序,我已经纠正了所有错误,maven正在构建所有的应用程序,没有任何错误 我在tomcat 9上启动应用程序时没有出现错误,当我尝试访问登录页面时,出现以下错误: SEVERE: Servlet.service() for servlet [default] in context with path [/crm] threw exception [Unable to instantiate Action, com.

我正在尝试从Java6和Java8升级JavaWeb应用程序

这是一个5层的应用程序,我已经纠正了所有错误,maven正在构建所有的应用程序,没有任何错误

我在tomcat 9上启动应用程序时没有出现错误,当我尝试访问登录页面时,出现以下错误:

SEVERE: Servlet.service() for servlet [default] in context with path [/crm] threw exception [Unable to instantiate Action, com.xxx.coordination.EnterAction,  defined for 'enter' in namespace '/'Class must not be null - action - file:/C:/git/yyy/crm-webapp/WebContent/WEB-INF/classes/home.xml:7:89] with root cause
java.lang.IllegalArgumentException: Class must not be null
    at org.springframework.util.Assert.notNull(Assert.java:113)
    at org.springframework.beans.BeanUtils.isSimpleProperty(BeanUtils.java:360)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.unsatisfiedNonSimpleProperties(AbstractAutowireCapableBeanFactory.java:846)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:756)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:715)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:267)
    at com.opensymphony.xwork2.spring.SpringObjectFactory.autoWireBean(SpringObjectFactory.java:167)
    at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:154)
    at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:128)
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:141)
    at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:111)
    at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:270)
    at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:360)
    at com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38)
    at com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:78)
    at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    at com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:70)
    at com.opensymphony.xwork2.DefaultActionInvocation.<init>(DefaultActionInvocation.java:66)
    at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
    at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494)
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:418)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at com.xxx.init.MobileFilter.doFilter(MobileFilter.java:38)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at com.xxx.coordination.SuiviAcces.doFilter(SuiviAcces.java:153)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:412)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1385)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
我发现必须在applicationContext.xml中添加以下行

<bean id="enterBean" class="com.xxx.coordination.EnterAction"></bean>

而且还必须在struts中更改为

<action name="enter" class="enterBean">


所以我的问题是,为什么它在Java6上工作,而现在必须在Java8上更改它。上面写着xxx。它应该是
abw
?它不知道Struts,但是
class=enterBean
应该引用一个类而不是一个bean。我说得对吗?只是一些建议。啊,我在帖子中错了,我改为,似乎spring版本2.0.1在tomcat JRE 1.8上工作不好
<bean id="enterBean" class="com.xxx.coordination.EnterAction"></bean>
<action name="enter" class="enterBean">