Darren Jones created WOOKIE-420:
-----------------------------------

             Summary: NoClassDefFoundError: org/apache/wookie/messages on JBoss 
7 / JDK 7
                 Key: WOOKIE-420
                 URL: https://issues.apache.org/jira/browse/WOOKIE-420
             Project: Wookie
          Issue Type: Bug
          Components: Server
    Affects Versions: 0.11.0
         Environment: Windows 7 64-bit, Java 7 Update 25, JBoss 7.2.0.Final
            Reporter: Darren Jones


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)


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to