这个看似简单的问题困扰着我。我有一个带有一组依赖项的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
请问好吗?
答案 0 :(得分:0)
您必须在com/mylib
的父目录中运行此命令。我假设MyMainClass.class
,MyJar.jar
和MyDependencyJar.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
会覆盖以前的类路径设置。