从Struts 1.3 / Tiles 1迁移到Struts 1 Tiles 2

时间:2017-03-24 18:50:46

标签: spring hibernate struts-1 tiles2

我能够构建一个示例程序,我将其从Struts 1 / Tiles 1转换为Struts 1 / Tiles 2.所以我开始实现相同的旧govt项目,我需要将spring和hibernate升级到4。 X。由于复杂性,该团队决定扣留Struts 1。

现在,在完成所有已知更改后,当我启动服务器时,我得到一个NullPointerException(见下文)。

我在lib和classpath中有以下jar:

tiles-core-2.2.1.jar
tiles-api-2.2.1.jar
tiles-api-2.2.1.jar
tiles-jsp-2.2.1.jar
tiles-portlet-2.2.1.jar
tiles-servlet-2.2.1.jar
tiles-template-2.2.1.jar 
struts-core-1.4.0-SNAPSHOT.jar
struts-extras-1.4.0-SNAPSHOT.jar
struts-tiles-1.4.0-SNAPSHOT.jar
struts-tiles2-1.4.0-SNAPSHOT.jar

我是否遗漏了任何配置或其他任何内容?任何帮助将受到高度赞赏。

当我们使用struts-tiles-1.4.0-SNAPSHOT从Tiles 1迁移到Tiles 2时,是否有任何版本问题?我的意思是,当我使用struts-core-1.4.0-SNAPSHOT.jar时,我可以使用tiles-core-2.2.1.jar吗?我需要降级到tiles-core-2.0.5.jar吗?

另外,根据文档,当我们从Tiles 1迁移到Tiles 2时,我们需要在JSP中添加<%@ taglib prefix=”tiles” uri=”http://tiles.apache.org/tags-tiles” %>。同时我们是否需要维护旧行<%@ taglib uri="struts-tiles" prefix="tiles"%>

我尝试过使用瓷砖2.5罐,仍然没用。任何解决方案?

####<Mar 24, 2017 2:05:33 PM EDT> <Warning> <org.apache.struts.config.impl.ModuleConfigImpl> <PC0033670> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <2d77fd9e20723ca4:24ff4746:15b017c9bf4:-8000-000000000000003b> <1490378733119> <BEA-000000> <Overriding MessageResources bundle of key org.apache.struts.action.MESSAGE> 
####<Mar 24, 2017 2:05:33 PM EDT> <Warning> <org.apache.struts.util.PropertyMessageResources> <PC0033670> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <2d77fd9e20723ca4:24ff4746:15b017c9bf4:-8000-000000000000003b> <1490378733169> <BEA-000000> <  Resource org/apache/struts/action/ActionResources_en_US.properties Not Found.> 
####<Mar 24, 2017 2:05:33 PM EDT> <Warning> <org.apache.struts.util.PropertyMessageResources> <PC0033670> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <2d77fd9e20723ca4:24ff4746:15b017c9bf4:-8000-000000000000003b> <1490378733171> <BEA-000000> <  Resource org/apache/struts/action/ActionResources_en.properties Not Found.> 
####<Mar 24, 2017 2:05:33 PM EDT> <Error> <ServletContext-/cms3.9_Sh> <PC0033670> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <2d77fd9e20723ca4:24ff4746:15b017c9bf4:-8000-000000000000003b> <1490378733172> <BEA-000000> <action: null
java.lang.NullPointerException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:247)
    at org.apache.tiles.reflect.ClassUtil.getClass(ClassUtil.java:67)
    at org.apache.tiles.reflect.ClassUtil.instantiate(ClassUtil.java:103)
    at org.apache.tiles.reflect.ClassUtil.instantiate(ClassUtil.java:82)
    at org.apache.tiles.factory.TilesContainerFactory.createFactory(TilesContainerFactory.java:541)
    at org.apache.tiles.factory.TilesContainerFactory.getFactory(TilesContainerFactory.java:203)
    at org.apache.tiles.factory.TilesContainerFactory.getFactory(TilesContainerFactory.java:178)
    at org.apache.struts.tiles2.TilesPlugin.init(TilesPlugin.java:241)
    at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:891)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)
    at javax.servlet.GenericServlet.init(GenericServlet.java:241)
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
    at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
    at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1986)
    at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1960)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1879)
    at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3161)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1511)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:483)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
    at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
    at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
    at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
    at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:43)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:531)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
> 
####<Mar 24, 2017 2:05:33 PM EDT> <Error> <HTTP> <PC0033670> <AdminServer> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <2d77fd9e20723ca4:24ff4746:15b017c9bf4:-8000-000000000000003b> <1490378733190> <BEA-101216> <Servlet: "action" failed to preload on startup in Web application: "cms3.9_Sh".
javax.servlet.UnavailableException
    at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:900)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)
    at javax.servlet.GenericServlet.init(GenericServlet.java:241)
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
    at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
    at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1986)
    at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1960)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1879)
    at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3161)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1511)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:483)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
    at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
    at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
    at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
    at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:43)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:531)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused By: java.lang.NullPointerException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:247)
    at org.apache.tiles.reflect.ClassUtil.getClass(ClassUtil.java:67)
    at org.apache.tiles.reflect.ClassUtil.instantiate(ClassUtil.java:103)
    at org.apache.tiles.reflect.ClassUtil.instantiate(ClassUtil.java:82)
    at org.apache.tiles.factory.TilesContainerFactory.createFactory(TilesContainerFactory.java:541)
    at org.apache.tiles.factory.TilesContainerFactory.getFactory(TilesContainerFactory.java:203)
    at org.apache.tiles.factory.TilesContainerFactory.getFactory(TilesContainerFactory.java:178)
    at org.apache.struts.tiles2.TilesPlugin.init(TilesPlugin.java:241)
    at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:891)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)
    at javax.servlet.GenericServlet.init(GenericServlet.java:241)
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64)
    at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
    at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:539)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1986)
    at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1960)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1879)
    at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3161)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1511)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:483)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
    at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
    at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
    at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
    at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:43)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:531)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

Thank you
Venugopalan

0 个答案:

没有答案