所以,我可以做得很好:
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)。
我是否会感到愚蠢?
答案 0 :(得分:49)
可能:))
# On Unix
java -cp utilities.jar:. mypackage.MyClass
# On Windows
java -cp utilities.jar;. mypackage.MyClass
基本上只包括类路径上的.
(当前目录)以及jar文件。
答案 1 :(得分:7)
如果你在Windows上试试这个:
java -cp .;utilities.jar mypackage.MyClass
如果您使用的是Linux,请执行以下操作:
java -cp .:utilities.jar mypackage.MyClass
默认情况下,当您为-cp
指定值时,当前目录不在CLASSPATH中。
答案 2 :(得分:-1)
您应该将mypackage.MyClass包含到CLASSPATH或-cp参数中。 例如:
java -cp utilities.jar;myjar.jar mypackage.MyClass
路径分隔符是;在Windows和:在Unix / Linux上