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

时间:2011-06-20 09:54:54

标签: java classpath

所以,我可以做得很好:

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)。

我是否会感到愚蠢?

3 个答案:

答案 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上