7

我有一个奇怪的问题。我在 JBoss 中配置了一个JMS客户端应用程序和一个MDBjboss-5.1.0.GA。早些时候,我通过“配置构建路径”→“添加外部 JAR”添加了 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

jndi.properties在类路径和以下 JAR 中:

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

有人可以帮忙吗?

4

4 回答 4

1

你需要jboss-logging-3.1.0.GA,它随 Hibernate 发行版一起提供,或者可以单独下载。

于 2013-05-09T08:26:44.443 回答
0

这是 JBoss 记录器与从 1.7 开始升级的 JDK 兼容的问题。JDK 1.7 不允许自定义级别。请使用与 JDK 1.7 (Hit and Try) 兼容的库。也许,lib doc可以帮助它。

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

于 2014-04-29T06:15:00.573 回答
0

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

于 2012-06-11T10:00:07.160 回答
0

看起来他们可能缺少lib/类路径中的文件夹。您是否更新了类路径以指向 lib 文件夹?如果您有清单文件,请确保它引用了 jar 的 lib 文件夹。当你的程序运行时打印出你的类路径,然后你可以看看它是否指向那些罐子。eclipse 设置只有在 eclipse 中才有用,所以如果你超出这个范围,你必须注意类路径。

于 2012-06-08T16:35:16.493 回答