【发布时间】:2021-01-30 00:00:00
【问题描述】:
我使用java -cp dependencyJarPath -jar MyJar.jar 启动我的应用程序。但它在我的dependencyJar 中找不到该类并给了我java.lang.NoClassDefFoundError。然后我在我的代码中打印类路径,发现dependencyJarPath 不在我的类路径中。然后我在 jar 的 MANIFEST.MF 中的 Class-Path 标头中添加dependencyJarPath,并使用java -jar MyJar.jar 启动我的应用程序,它起作用了。
所以我的问题是当-cp和-jar一起使用时,-cp会生效吗?如果没有生效,除了设置Class-Path header,我在运行jar时如何设置classpath?
【问题讨论】:
-
据此:docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html"当你使用这个选项时,JAR文件是所有用户类的来源,其他用户类路径设置被忽略。"
-
@Andi 这是一个答案...