我有一个简单的Java文件Q.java,它依赖于外部库文件X.jar。 Q.java和X.jar都在同一目录中。我可以通过执行以下命令从命令行编译Q.java:“javac -cp X.jar Q.java”。这会生成一个Q.class文件。我该如何运行呢?我尝试了所有这些:
1)java Q. 2)java -cp X.jar Q
我一直在接受 线程“main”中的异常java.lang.NoClassDefFoundError:Q 引起:java.lang.ClassNotFoundException:Q
那么,如果我有类文件,怎么从命令行运行呢?
答案 0 :(得分:11)
java -cp X.jar:. Q
您必须在类路径中指定要使用JAR依赖项和当前本地目录来解析类。
评论中建议编辑:
在Windows上,将:
替换为;
:
java -cp X.jar;. Q
答案 1 :(得分:0)
在类路径中设置当前目录,它应该解决问题。大多数情况下,我们需要在类路径中使用当前目录,所以通常我建议设置“。”。 (不带引号)在系统CLASSPATH环境变量中,而不是为每次运行设置。