java.lang.ClassNotFoundException:org.jboss.logging.Logger

问题描述 投票:6回答:4

我有一个奇怪的问题。

我有一个JMS客户端应用程序和一个在Jboss jboss-5.1.0.GA中配置的MDB。之前我通过“ Configure Build Path”->“ Add External jars”添加了jar,一切正常。

现在,我将所有jar移到项目下的lib文件夹中,并使用“配置构建路径”->“添加jar”。

现在执行客户端程序时出现以下异常。 :(

`Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/logging/Logger
at org.jnp.interfaces.NamingContext.<clinit>(NamingContext.java:160)
at org.jnp.interfaces.NamingContextFactory.getInitialContext(NamingContextFactory.java:56)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at com.dcat2.messaging.sendreceive.MessageReceiver_test.sendMessage(MessageReceiver_test.java:68)
at com.dcat2.messaging.sendreceive.MessageReceiver_test.main(MessageReceiver_test.java:57)
`Caused by: java.lang.ClassNotFoundException: org.jboss.logging.Logger
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 8 more`

我在类路径和以下jar中具有jndi.properties。

jbossall-client.jar
commons-logging.jar
concurrent.jar
javax.ejb.jar
jms.jar
jnp-client-4.2.2.GA.jar
log4j-1.2.16.jar
sqljdbc4.jar

任何人都可以帮忙。...?

java eclipse classpath
4个回答
2
投票

您需要带有休眠分发版的jboss-logging-3.1.0.GA,也可以单独下载。


0
投票

真正的问题是jbossall-client.jar包含对其他jar的引用。因此,我们需要从JBOSS_HOME添加它。这就是为什么当我复制到我的lib目录时它不起作用的原因。

谢谢


0
投票

其与JBOSS记录器兼容性以及JDK升级到1.7以上的问题JDK1.7不允许自定义级别请使用与jdk1.7兼容的库(命中并尝试),也许lib doc可以帮上忙。

否则,请自行更改问题罐(不推荐)


0
投票

似乎他们可能缺少类路径中的lib/文件夹。您是否更新了类路径以指向lib文件夹?如果您有清单文件,请确保它引用了jar的lib文件夹。在程序运行时打印出类路径,然后可以查看它是否指向这些jar。 eclipse设置仅在eclipse中有用,因此,如果超出该设置,则必须注意类路径。

© www.soinside.com 2019 - 2024. All rights reserved.