如何解决为什么-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 举报,一经查实,本站将立刻删除。