微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么-cp与-jar选项一起使用时不起作用?

如何解决为什么-cp与-jar选项一起使用时不起作用?

我使用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标头外,我如何在运行jar时设置类路径?

解决方法

据此: http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html

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

如果您不介意在启动应用程序时指定启动类,则可以将jar添加到类路径并像这样启动它。

java -cp dependencyPath;MyJar.jar My.StartUpClass

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。