bdz*_*vel 5 java jms exception noclassdeffounderror
我在运行与JMS有关的某些Java代码时遇到错误.我已经把头发拉了两天试图解决这个问题.
我得到的例外是"java.lang.NoClassDefFoundError:javax/jms/Message"
java.lang.NoClassDefFoundError: javax/jms/Message
at Asci.ActiveBatch.JMSAgent.JMSManager.createMsg(JMSManager.java:195)
at Asci.ActiveBatch.JMSAgent.JMSService.SendMessageHandler(JMSService.java:160)
Run Code Online (Sandbox Code Playgroud)
没有详细介绍TOO,这是指这一行:
public static void createMsg(String icf, String url, String cf, String QName, String msgText, String[] props, String user, String pass) throws Exception {
JMSProducer.produceMsg(icf, url, cf, QName, msgText, props, user, pass);
}
Run Code Online (Sandbox Code Playgroud)
(不要问为什么这个函数基本上映射到另一个...我最初没有编写这段代码)
我把这段代码称为
java -jar /path/myjarfile.jar
Run Code Online (Sandbox Code Playgroud)
javax.jms.jar包含在该jar的清单中(并且它存在于该位置),但以防万一我还尝试将类路径包含到我的lib文件夹(当然包含javax.jms.jar),如下所示:
java -classpath /path/lib:. -jar /path/myjarfile.jar
Run Code Online (Sandbox Code Playgroud)
到目前为止我没有运气.我不知道该怎么做或如何调试这个问题.任何帮助将不胜感激.显然,这段代码会编译,因此这些类必须在编译时(至少)可用.
谢谢.
EDITS:
1)我也尝试了java -classpath /path/lib/javax.jms.jar:.-jar /path/myjarfile.jar
2)此问题发生在运行时,而不是编译时.
3)所以,我有其他代码在相同的jar文件中调用相同的方法.从特定的jar调用此代码时,有些东西没有正确啮合.我检查并重新检查了我的其他代码,以确保它是相同的(它是/是),所以它似乎不是一个代码问题.在某处似乎有一些混乱的参考或某事.
将 a 添加.jar到类路径时,您需要直接引用 jar,而不是它所在的文件夹。
java -classpath /path/lib/JMS.jar:. -jar /path/myjarfile.jar
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40077 次 |
| 最近记录: |