unix java 类路径 cp 添加

unix java classpath cp adding

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

这个拿起并尝试 运行 我的主要 class

java -cp MyJar.jar com.mylib.MyMainClass

但它当然会在其中一个依赖项 class 上抛出 ClassNotFoundException。然后我尝试像这样添加一个依赖项

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

然后它说 ClassNotFoundException for com.mylib.MyMainClass !

我也尝试过这些,但遇到了各种相同的问题

java -cp . com.mylib.MyMainClass

还有这个

java -cp *.jar com.mylib.MyMainClass

还有这个

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

有什么想法吗?

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

试试这个:

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

试试这个:

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

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