如何在类路径中运行带有jar的java类?

所以,我可以做得很好:

java mypackage.MyClass 

如果./mypackage/MyClass.class存在。 我也很乐意这样做:

 java -cp myjar.jar mypackage.MyClass 

如果类文件存在于jar的适当部分。 简单的东西。 但我不能为我的生活设法做这样的事情:

 java -cp utilities.jar mypackage.MyClass 

其中./mypackage/MyClass.class存在,其中存在./utilities.jar (当然不包含MyClass)。

我差点感到愚蠢吗?

可能:)

 # On Unix java -cp utilities.jar:. mypackage.MyClass # On Windows java -cp utilities.jar;. mypackage.MyClass 

基本上只是包括. 类路径上的(当前目录)以及jar文件。

如果你在Windows上试试这个:

 java -cp .;utilities.jar mypackage.MyClass 

或者如果你在Linux上:

 java -cp .:utilities.jar mypackage.MyClass 

默认情况下,为-cp指定值时,当前目录不在CLASSPATH中。

您应该将mypackage.MyClass包含在CLASSPATH或-cp参数中。 例如:

 java -cp utilities.jar;myjar.jar mypackage.MyClass 

路径分隔符是; 在Windows上和:在Unix / Linux上