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

ama*_*ara 25 java classpath

所以,我可以做得很好:

java mypackage.MyClass
Run Code Online (Sandbox Code Playgroud)

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

java -cp myjar.jar mypackage.MyClass
Run Code Online (Sandbox Code Playgroud)

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

java -cp utilities.jar mypackage.MyClass
Run Code Online (Sandbox Code Playgroud)

其中./mypackage/MyClass.class存在,并且其中./utilities.jar存在的(不含有当然MyClass的).

我差点感到愚蠢吗?

Jon*_*eet 53

可能:)

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

# On Windows
java -cp utilities.jar;. mypackage.MyClass
Run Code Online (Sandbox Code Playgroud)

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


duf*_*ymo 7

如果你在Windows上试试这个:

java -cp .;utilities.jar mypackage.MyClass
Run Code Online (Sandbox Code Playgroud)

或者如果你在Linux上:

java -cp .:utilities.jar mypackage.MyClass
Run Code Online (Sandbox Code Playgroud)

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