我知道之前发布过类似的问题,我也经历过这些问题,但它仍然不适合我。
我正在创建一个示例 JMS 测试类(聊天应用程序)并使用 javaee.jar 和 javax.jms.jar。我可以通过 Eclipse IDE 测试它,并且运行良好。但我尝试通过命令提示符运行,以便可以运行多个窗口。我设法编译 Chat.java 文件并创建 Chat.class。但是当我尝试运行它时,我得到无法找到或加载主类
。这些是我使用的命令:
从src/domain
文件夹:
javac -classpath javaee.jar;javax.jms.jar Chat.java
----这在域文件夹中创建了Chat.Class,其中domain是包名称
我从 src
文件夹运行以下命令
java -classpath javaee.jar;javax.jms.jar domain.Chat
---- 这给了我无法找到或加载主类domain.Chat
错误信息
但是当我在没有 -classpath 参数(java domain.Chat
)的情况下运行时,它会读取 main() 并给出不同的错误,因为它找不到 jms jar 文件。
E:\eclipse\Spring\JMSChat\src>java 域.Chat
线程“main”中的异常 java.lang.NoClassDefFoundError: javax/jms/MessageList
能量
所以基本上,当我不传入类路径参数时,它会找到 Chat.class
文件,而当我使用类路径添加 jar 时,它找不到该类。我尝试从域文件夹和 src 文件夹中运行它,但没有成功。知道我做错了什么吗?
提前致谢。
最佳答案
试试这个
java -classpath javaee.jar;javax.jms.jar;. domain.Chat
默认情况下,java
使用类路径中的当前目录。当您使用 -cp
标志时,它不会,因此找不到 domain.Chat
的路径。
关于java - 无法找到或加载主类 - 通过命令提示符运行时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18795601/