首页 >Java >java教程 >如何执行具有附加依赖项的 JAR 文件:-jar 与 -cp?

如何执行具有附加依赖项的 JAR 文件:-jar 与 -cp?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-08 03:04:021053浏览

How to Execute a JAR File with Additional Dependencies: -jar vs. -cp?

使用附加类路径选项调用“java -jar MyFile.jar”

在 Java 中,有两种方法来执行 JAR 文件:使用 -jar 选项或使用 -cp 指定类路径。但是,尝试组合这两个选项会导致错误。

使用 -jar 时,Java 虚拟机 (JVM) 假定 JAR 文件包含所有必需的依赖项。因此,不建议使用 -cp 指定额外的类路径。

相反,有两种替代方法:

方法 1:将 JAR 添加到主清单

  1. 将所需的 JAR 文件复制到子文件夹,例如“libs”。
  2. 使用 在构建 JAR 之前在 Ant 中执行任务:
<code class="xml"><manifestclasspath property="myprogram.manifest.classpath" jarfile="MyProgram.jar">
  <classpath>
    <fileset dir="libs" includes="*.jar" />
  </classpath>
</manifestclasspath></code>
  1. 使用更新的清单创建 JAR:
<code class="xml"><jar destfile="MyProgram.jar" basedir="classes">
  <manifest>
    <attribute name="Main-Class" value="main.Main" />
    <attribute name="Class-Path" value="${myprogram.manifest.classpath}" />
  </manifest>
</jar></code>

通过在清单中指定类路径, java -jar MyProgram.jar 将包含所有依赖项。

方法 2:使用 -cp 指定类路径

  1. 在类路径中包含所有必需的 JAR 文件:
java -cp 'MyProgram.jar:libs/*' main.Main

使用 * 语法扩展以包含“libs”目录中的所有 JAR 文件。

请记住,选择 -jar 或 -cp 方法至关重要。两者结合可能会导致类路径冲突和错误。

以上是如何执行具有附加依赖项的 JAR 文件:-jar 与 -cp?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn