Uploaded image for project: 'Wookie'
  1. Wookie
  2. WOOKIE-420

NoClassDefFoundError: org/apache/wookie/messages on JBoss 7 / JDK 7

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.11.0
    • 1.0.0
    • Server
    • None
    • Windows 7 64-bit, Java 7 Update 25, JBoss 7.2.0.Final

    Description

      When I deploy wookie.war on JBoss 7, I get the following message on startup:

      Failed to define class org.apache.wookie.messages in Module "deployment.idbs-wookie-9.8.0-SNAPSHOT.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link org/apache/wookie/messages (Module "deployment.idbs-wookie-9.8.0-SNAPSHOT.war:main" from Service Module Loader)

      The stack trace also contains this:

      Caused by: java.lang.NoClassDefFoundError: org/apache/wookie/messages (wrong name: org/apache/wookie/Messages)

      So this suggests it may be a case-sensitivity issue - not sure whether it's specific to JDK 7, WIndows 7 or JBoss 7.2.0.Final.

      I downloaded the source code, and in LocaleHandler, by changing this line:

      private static final String BUNDLE_NAME = "org.apache.wookie.messages";
      to
      private static final String BUNDLE_NAME = Messages.class.getName();

      the problem goes away (presumably because the case of the bundle is then correct).

      Full stack trace:

      14:50:25,027 WARN [org.jboss.modules] (ServerService Thread Pool – 49) Failed to define class org.apache.wookie.messages in Module "deployment.idbs-wookie-9.8.0-SNAPSHOT.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link org/apache/wookie/messages (Module "deployment.idbs-wookie-9.8.0-SNAPSHOT.war:main" from Service Module Loader)
      at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:407) [jboss-modules.jar:1.2.0.CR1]
      at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:254) [jboss-modules.jar:1.2.0.CR1]
      at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73) [jboss-modules.jar:1.2.0.CR1]
      at org.jboss.modules.Module.loadModuleClass(Module.java:518) [jboss-modules.jar:1.2.0.CR1]
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182) [jboss-modules.jar:1.2.0.CR1]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.2.0.CR1]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.2.0.CR1]
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.2.0.CR1]
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.2.0.CR1]
      at java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2565) [rt.jar:1.7.0_21]
      at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1436) [rt.jar:1.7.0_21]
      at java.util.ResourceBundle.findBundle(ResourceBundle.java:1400) [rt.jar:1.7.0_21]
      at java.util.ResourceBundle.findBundle(ResourceBundle.java:1354) [rt.jar:1.7.0_21]
      at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1296) [rt.jar:1.7.0_21]
      at java.util.ResourceBundle.getBundle(ResourceBundle.java:796) [rt.jar:1.7.0_21]
      at org.apache.wookie.server.LocaleHandler.initResourceBundles(LocaleHandler.java:110) [classes:]
      at org.apache.wookie.server.LocaleHandler.initialize(LocaleHandler.java:72) [classes:]
      at org.apache.wookie.server.ContextListener.contextInitialized(ContextListener.java:113) [classes:]
      at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.0.Final.jar:7.2.0.Final]
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_21]
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_21]
      at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_21]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_21]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_21]
      at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]
      at org.jboss.threads.JBossThread.run(JBossThread.java:122)
      Caused by: java.lang.NoClassDefFoundError: org/apache/wookie/messages (wrong name: org/apache/wookie/Messages)
      at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_21]
      at java.lang.ClassLoader.defineClass(ClassLoader.java:791) [rt.jar:1.7.0_21]
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) [rt.jar:1.7.0_21]
      at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:338) [jboss-modules.jar:1.2.0.CR1]
      at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:402) [jboss-modules.jar:1.2.0.CR1]
      ... 29 more

      (I couldn't find any references to this issue elsewhere, so hope raising an issue here is the right thing to do)

      Attachments

        Activity

          People

            Unassigned Unassigned
            darrenjones Darren Jones
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: