多个jar时Java类路径丢失主类

多个jar时Java类路径丢失主类,java,Java,有人能解释一下为什么当我的类路径中有多个jar时,java找不到我的主类吗 如果我尝试 java -cp MyJar.jar package.App 我得到了我想要的东西,目前是一个错误,因为一些LIB丢失了 但是如果我尝试 java -cp lib/*:MyJar.jar package.App 甚至 java -cp lib/*:MyJar.jar:. package.App 我弄错了 Could not find or load main class 在windows环境中,类路径

有人能解释一下为什么当我的类路径中有多个jar时,java找不到我的主类吗

如果我尝试

java -cp MyJar.jar package.App
我得到了我想要的东西,目前是一个错误,因为一些LIB丢失了

但是如果我尝试

java -cp lib/*:MyJar.jar package.App
甚至

java -cp lib/*:MyJar.jar:. package.App
我弄错了

Could not find or load main class

在windows环境中,类路径应以分号分隔:

因此命令应该是这样的:
java-cp“lib/*;MyJar.jar;”package.App


如果您在Linux上,请尝试将完整路径用引号括起来:
java-cp“lib/*:MyJar.jar:”package.App

从哪个位置执行此java程序您可能需要引用
*
以防止shell扩展。我使用cygwin模拟UNIX环境。因为最终它将在UNIX上使用。我也试着引用它。。。像这个java-cp“lib/*:MyJar.jar”package.app一样,无论如何都不应该这样做。您应该使用
java-jar
处理主jar文件清单中命名的子jar文件。我也尝试过这样做,但我得到了一堆jar要添加,我尝试添加到我的清单库/*中,但我认为它不起作用。我在Windows上,但我用cygwin尝试了这两种可能性。每次错误都是一样的。根据右图,我是使用冒号还是分号OS@BHMath .. 您确定所有jar中都有一个package.App类且没有冲突吗?这是一个scala类,因此在我的jar文件夹包中,我得到了App.scala App.class App$.class App$delayedInit$body.class App$$anonfun$1.class App$$anonfun$2.class App$$anonfun$apply$1.class App$$anonfun$apply$2.class App应用程序$$anonfun$2$$anonfun$apply$1$$anonfun$apply$3.class应用程序$$anonfun$2$$anonfun$apply$1$$anonfun$apply$4.class