Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-3703

Unable to read class [WEB-INF.classes.org.apache.struts2.rest.example.OrdersController] Could not load WEB-INF/classes/org/apache/struts2/rest/example/OrdersController.class - [unknown location]

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.2.1
    • 2.2.3.1
    • None
    • Weblogic 10.3, Windows 7 x64, JRockit 1.6

    Description

      I received warning message from Struts while deploying struts2-rest-showcase-2.2.1.war application under Weblogic 10.3.
      Application works fine after deployment.

      Full stack strace:

      Nov 11, 2011 6:30:39 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
      SEVERE: Unable to read class [WEB-INF.classes.org.apache.struts2.rest.example.Order]
      Could not load WEB-INF/classes/org/apache/struts2/rest/example/Order.class - [unknown location]
              at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:785)
              at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:165)
              at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377)
              at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:335)
              at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
              at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:215)
              at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
              at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
              at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
              at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
              at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
              at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterManager.java:329)
              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
              at weblogic.security.service.SecurityManager.runAs(Unknown Source)
              at weblogic.servlet.internal.FilterManager.loadFilter(FilterManager.java:95)
              at weblogic.servlet.internal.FilterManager.preloadFilters(FilterManager.java:58)
              at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1788)
              at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999)
              at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371)
              at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468)
              at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
              at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
              at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
              at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
              at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
              at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
              at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
              at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
              at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
              at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
              at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
              at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
              at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:16)
              at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
              at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
              at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
              at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
              at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
              at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:196)
              at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
              at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233)
              at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
              at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
              at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
              at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
              at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
      Nov 11, 2011 6:30:39 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
      SEVERE: Unable to read class [WEB-INF.classes.org.apache.struts2.rest.example.OrdersController]
      Could not load WEB-INF/classes/org/apache/struts2/rest/example/OrdersController.class - [unknown location]
              at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:785)
              at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:165)
              at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377)
              at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:335)
              at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
              at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:215)
              at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
              at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
              at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
              at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
              at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
              at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterManager.java:329)
              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
              at weblogic.security.service.SecurityManager.runAs(Unknown Source)
              at weblogic.servlet.internal.FilterManager.loadFilter(FilterManager.java:95)
              at weblogic.servlet.internal.FilterManager.preloadFilters(FilterManager.java:58)
              at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1788)
              at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999)
              at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371)
              at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468)
              at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
              at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
              at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
              at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
              at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
              at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
              at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
              at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
              at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
              at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
              at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
              at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
              at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:16)
              at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
              at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
              at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
              at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
              at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
              at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:196)
              at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
              at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233)
              at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
              at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
              at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
              at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
              at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
      Nov 11, 2011 6:30:39 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
      SEVERE: Unable to read class [WEB-INF.classes.org.apache.struts2.rest.example.OrdersService]
      Could not load WEB-INF/classes/org/apache/struts2/rest/example/OrdersService.class - [unknown location]
              at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:785)
              at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:165)
              at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377)
              at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:335)
              at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
              at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:215)
              at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
              at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
              at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
              at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
              at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
              at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterManager.java:329)
              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
              at weblogic.security.service.SecurityManager.runAs(Unknown Source)
              at weblogic.servlet.internal.FilterManager.loadFilter(FilterManager.java:95)
              at weblogic.servlet.internal.FilterManager.preloadFilters(FilterManager.java:58)
              at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1788)
              at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999)
              at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371)
              at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468)
              at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
              at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
              at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
              at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
              at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
              at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
              at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
              at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
              at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
              at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
              at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
              at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
              at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:16)
              at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
              at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
              at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
              at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
              at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
              at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:196)
              at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
              at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233)
              at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
              at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
              at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
              at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
              at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
      

      I thinks it happens because ClassFinder class can't load resource with name 'WEB-INF/classes/org/apache/struts2/rest/example/Order.class' because it's incorrect name. Correct name is 'org/apache/struts2/rest/example/Order.class'.

      Attachments

        Activity

          People

            Unassigned Unassigned
            roman_danilin Roman Danilin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: