升级到 struts 2.5.17 时的运行时异常 [英] Runtime exception while upgrading to struts 2.5.17

查看:34
本文介绍了升级到 struts 2.5.17 时的运行时异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将 struts 从版本 2.2.1.1 升级到 2.5.17.但是在将它升级到 2.5.17 并升级更多依赖项之后,我遇到了运行时异常?我还升级了 jquery 插件、tiles、ognl、dojo 等 jar 包.

I am trying to upgrade struts from version 2.2.1.1 to 2.5.17. But after upgrading it to 2.5.17 and upgrading few more dependencies I am getting below run time exception? I have also upgraded jars such as jquery plugin,tiles,ognl,dojo etc..

我正在尝试将 struts 从版本 2.2.1.1 升级到 2.5.17.但是在将它升级到 2.5.17 并升级更多依赖项之后,我遇到了运行时异常?我还升级了 jquery 插件、tiles、ognl、dojo 等 jar 包.

I am trying to upgrade struts from version 2.2.1.1 to 2.5.17. But after upgrading it to 2.5.17 and upgrading few more dependencies I am getting below run time exception? I have also upgraded jars such as jquery plugin,tiles,ognl,dojo etc..

任何人都可以提出建议.

Can anyone please suggest.

发生异常:

java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [LoginAction]
org.apache.struts2.convention.ConventionsServiceImpl.determineResultPath(ConventionsServiceImpl.java:97)
org.apache.struts2.convention.ConventionUnknownHandler.determinePath(ConventionUnknownHandler.java:376)
org.apache.struts2.convention.ConventionUnknownHandler.handleUnknownResult(ConventionUnknownHandler.java:272)
com.opensymphony.xwork2.DefaultUnknownHandlerManager.handleUnknownResult(DefaultUnknownHandlerManager.java:95)
com.opensymphony.xwork2.DefaultActionInvocation.createResult(DefaultActionInvocation.java:223)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:369)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:279)
com.aniket.web.struts.interceptors.CDMVI18nInterceptor.intercept(CDMVI18nInterceptor.java:43)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:574)
org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79)
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:141)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
com.aniket.web.filter.EncodingFilter.doFilter(EncodingFilter.java:41)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3701)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3667)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2443)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2291)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2269)
weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1703)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1663)
weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:644)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:415)
weblogic.work.ExecuteThread.run(ExecuteThread.java:355)
java.lang.ClassNotFoundException: LoginAction
weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1029)
weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:990)
weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:104)
weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericClassLoader.java:611)
weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:543)
weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:496)
weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:89)
weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:53)
com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:179)
org.apache.struts2.convention.ConventionsServiceImpl.determineResultPath(ConventionsServiceImpl.java:95)
org.apache.struts2.convention.ConventionUnknownHandler.determinePath(ConventionUnknownHandler.java:376)
org.apache.struts2.convention.ConventionUnknownHandler.handleUnknownResult(ConventionUnknownHandler.java:272)
com.opensymphony.xwork2.DefaultUnknownHandlerManager.handleUnknownResult(DefaultUnknownHandlerManager.java:95)
com.opensymphony.xwork2.DefaultActionInvocation.createResult(DefaultActionInvocation.java:223)
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:369)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:279)
com.aniket.web.struts.interceptors.CDMVI18nInterceptor.intercept(CDMVI18nInterceptor.java:43)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.factory.StrutsActionProxy.execute(StrutsActionProxy.java:48)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:574)
org.apache.struts2.dispatcher.ExecuteOperations.executeAction(ExecuteOperations.java:79)
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:141)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
com.aniket.web.filter.EncodingFilter.doFilter(EncodingFilter.java:41)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3701)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3667)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2443)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2291)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2269)
weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1703)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1663)
weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:644)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:415)
weblogic.work.ExecuteThread.run(ExecuteThread.java:355)

推荐答案

我通过替换以下内容解决了这个问题:

I got this issue resolved by replacing below:

<context-param>
<param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
<param-value>/WEB-INF/tiles.xml</param-value>
</context-param>

与:

<context-param>
<param-name>org.apache.tiles.definition.DefinitionsFactory.DEFINITIONS_CONFIG</param-name>
<param-value>/WEB-INF/tiles.xml</param-value>
</context-param>

根据以下文档,升级到 struts 2.5 后,我们不必在 web.xml 中指定tiles.xml 路径.但是对于weblogic server就不是这样了.

As per below documentation we dont have to specify tiles.xml path in web.xml post upgrade to struts 2.5. But it is not true in case of weblogic server.

https://cwiki.apache.org/confluence/display/WW/Struts+2.3+to+2.5+migration

这篇关于升级到 struts 2.5.17 时的运行时异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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