早些时候,我只有一个 jar 文件,并且设置了清单,这样我就可以简单地运行我的程序:
java -jar MyApp.jar
现在,我已将功能分成两个 jar 文件 - MyCore.jar 和 MyApp.jar。
以下命令有效:
java -cp "*" com.mycompany.mypackage.App
但我无法让以下工作发挥作用
java -cp "*" -jar MyApp.jar
我收到 ClassNotFoundException。
我更喜欢使用“-jar”开关。有办法让它发挥作用吗?
根据 Java cli文档您不能在同一命令中组合使用 -cp 和 -jar
-jar 执行封装在 JAR 存档中的程序。第一个参数是 JAR 文件的名称,而不是启动类名称。为了使此选项起作用,清单
JAR 文件的 必须包含 Main-Class:classname 形式的行。在这里,classname 标识具有 public static void main(String[] args) 方法的类,该方法用作应用程序的起点。有关使用 Jar 文件和 Jar 文件管理的信息,请参阅 Jar 工具参考页和 Java 教程的 Jar 跟踪。
节日。
使用此选项时,JAR 文件是所有用户类的源,并且其他用户类路径设置将被忽略。请注意,可以使用“java -jar”选项运行的 JAR 文件可以设置其执行权限,以便可以在不使用“java -jar”的情况下运行它们。请参阅 Java 存档 (JAR)
文件。
为了解决这个问题,您需要确保应用程序 jar 中的清单引用包含主文件的类和类路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)