从依赖于jar文件的命令行运行Java程序?

时间:2011-08-14 01:31:44

标签: java command-line jar classpath javac

我有一个简单的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

那么,如果我有类文件,怎么从命令行运行呢?

2 个答案:

答案 0 :(得分:11)

java -cp X.jar:. Q

您必须在类路径中指定要使用JAR依赖项和当前本地目录来解析类。


评论中建议编辑:

在Windows上,将:替换为;

java -cp X.jar;. Q

答案 1 :(得分:0)

在类路径中设置当前目录,它应该解决问题。大多数情况下,我们需要在类路径中使用当前目录,所以通常我建议设置“。”。 (不带引号)在系统CLASSPATH环境变量中,而不是为每次运行设置。