0

我知道之前发布过类似的问题,我已经解决了这些问题,但它仍然不适合我。

我正在创建一个示例 JMS 测试类(聊天应用程序)并使用 javaee.jar 和 javax.jms.jar。我可以通过 Eclipse IDE 对其进行测试,它工作正常。但是我正在尝试通过命令提示符运行,以便可以运行多个窗口。我设法编译了 Chat.java 文件并创建了 Chat.class。但是当我尝试运行它时,我得到could not find or load main class. 这些是我使用的命令:

src/domain文件夹:

javac -classpath javaee.jar;javax.jms.jar Chat.java---- 这在 domain 文件夹中创建 Chat.Class,其中 domain 是包名

我从src文件夹中运行了以下命令

java -classpath javaee.jar;javax.jms.jar domain.Chat----这给了我could not find or load main class domain.Chat错误信息

但是当我在没有 -classpath 参数(java domain.Chat)的情况下运行时,它会读取 main() 并给我不同的错误,因为它找不到 jms jar 文件。

E:\eclipse\Spring\JMSChat\src>java domain.Chat Exception in thread "main" java.lang.NoClassDefFoundError: javax/jms/MessageList ener

所以基本上Chat.class当我不传入类路径参数时它会找到文件,而当我使用类路径添加罐子时它找不到类。我尝试从域文件夹以及 src 文件夹中运行它,但没有运气。任何线索我做错了什么?

提前致谢。

4

2 回答 2

3

试试这个

java -classpath javaee.jar;javax.jms.jar;. domain.Chat

默认情况下java使用类路径中的当前目录。当您使用该-cp标志时,它不会因此domain.Chat找不到路径。

于 2013-09-13T21:38:21.397 回答
0

1) 您可以从 Eclipse 运行该应用程序的多个实例,并且您可以通过单击控制台图标旁边的箭头循环通过分配的控制台来检查它们的输出

2)尝试从您的源文件夹java -classpath .;javaee.jar;javax.jms.jar domain.Chat“。”运行 表示当前目录

于 2013-09-13T21:38:41.553 回答