unix java classpath cp添加

时间:2016-05-09 11:18:47

标签: java linux classpath

这个看似简单的问题困扰着我。我有一个带有一组依赖项的jar,我似乎无法在linux中工作。所有jar和脚本都位于同一目录中。

这个拿起并试图运行我的主类

java -cp MyJar.jar com.mylib.MyMainClass

但当然它会在其中一个依赖类上抛出ClassNotFoundException。那么我尝试添加其中一个依赖项,如此

java -cp MyJar.jar:MyDependencyJar.jar com.mylib.MyMainClass

然后它为ClassNotFoundException提示com.mylib.MyMainClass

我也尝试过各种相同的问题

java -cp . com.mylib.MyMainClass

和这个

java -cp *.jar com.mylib.MyMainClass

和这个

java -cp .:*.jar com.mylib.MyMainClass

请问好吗?

2 个答案:

答案 0 :(得分:0)

您必须在com/mylib的父目录中运行此命令。我假设MyMainClass.classMyJar.jarMyDependencyJar.jar都出现在com/mylib

试试这个:

java -cp .:MyJar.jar:MyDependencyJar.jar com.mylib.MyMainClass

答案 1 :(得分:0)

试试这个:

java -cp /path/to/jar1.jar:/path/to/jar2.jar:. com.mylib.MyMainClass

请注意,您不应在类路径中省略最后.,它代表当前工作目录,因为使用-cp会覆盖以前的类路径设置。