Java 为什么-cp与-jar选项一起使用时没有效果?

Java 为什么-cp与-jar选项一起使用时没有效果?,java,jar,classpath,Java,Jar,Classpath,我使用java-cp dependencyJarPath-jarmyjar.jar启动我的应用程序。但是它在dependencyJar中找不到该类,并给出了java.lang.NoClassDefFoundError。然后我在代码中打印类路径,发现dependencyJarPath不在我的类路径上。然后我在jar的MANIFEST.MF的类路径头中添加dependencyJarPath,并使用java-jar MyJar.jar启动我的应用程序,它成功了 所以我的问题是,当使用-cp和-jar时

我使用
java-cp dependencyJarPath-jarmyjar.jar
启动我的应用程序。但是它在dependencyJar中找不到该类,并给出了
java.lang.NoClassDefFoundError
。然后我在代码中打印类路径,发现dependencyJarPath不在我的类路径上。然后我在jar的MANIFEST.MF的
类路径
头中添加dependencyJarPath,并使用
java-jar MyJar.jar
启动我的应用程序,它成功了

所以我的问题是,当使用
-cp
-jar
时,
-cp
会生效吗?如果它不生效,我如何在运行我的jar时设置类路径,而不是设置
类路径
头?

根据以下内容:

使用此选项时,JAR文件是所有用户类的源,其他用户类路径设置将被忽略

如果您不介意在启动应用程序时指定startup类,那么可以将jar添加到类路径中,然后像这样启动它

java -cp dependencyPath;MyJar.jar My.StartUpClass

据此:“当您使用此选项时,JAR文件是所有用户类的源,其他用户类路径设置将被忽略。”@Andi这是一个答案。。。