vkokkodan
vkokkodan

Reputation: 11

Migrating from Struts 1.3/Tiles 1 to Struts 1 Tiles 2

I was able to built a sample program which I converted from Struts 1/Tiles 1 to Struts 1/Tiles 2. So I started to implement the same to an old govt project where I need to upgrade spring and hibernate to 4.x. Due to complexities, The team decided withhold Struts 1.

Now after all the known changes, when I start the server, I get a NullPointerException (see below).

I do have following jars in the lib and classpath:

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

Am I missing any configuration or any other thing? Any help will be highly appreciated.

When we make the migration from Tiles 1 to Tiles 2 with struts-tiles-1.4.0-SNAPSHOT, is there any version issues? I mean, when I use struts-core-1.4.0-SNAPSHOT.jar, can I use tiles-core-2.2.1.jar? Do I need to down grade to tiles-core-2.0.5.jar?

Also, per the documentation, when we migrate from Tiles 1 to Tiles 2, we need to add <%@ taglib prefix=”tiles” uri=”http://tiles.apache.org/tags-tiles” %> in JSPs. At the same time do we need to maintain the old line <%@ taglib uri="struts-tiles" prefix="tiles"%>?

I have tried using tiles 2.5 jars, still no use. Any SOLUTIONS?

####<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

Upvotes: 1

Views: 218

Answers (0)

Related Questions