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