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

pat*_*rit 5 java command-line jar javac classpath

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

那么我现在如何从命令行运行它,因为我有类文件?

Viv*_*sse 11

java -cp X.jar:. Q
Run Code Online (Sandbox Code Playgroud)

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


在评论中建议编辑:

在Windows上,替换:;:

java -cp X.jar;. Q
Run Code Online (Sandbox Code Playgroud)

  • 在Windows中,你必须使用";",而不是":",所以它将是"java -cp X.jar;.Q" (4认同)