You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by "Darren Jones (JIRA)" <ji...@apache.org> on 2013/09/16 16:06:52 UTC

[jira] [Created] (WOOKIE-420) NoClassDefFoundError: org/apache/wookie/messages on JBoss 7 / JDK 7

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