在 Java 中,有两种方法来执行 JAR 文件:使用 -jar 选项或使用 -cp 指定类路径。但是,尝试组合这两个选项会导致错误。
使用 -jar 时,Java 虚拟机 (JVM) 假定 JAR 文件包含所有必需的依赖项。因此,不建议使用 -cp 指定额外的类路径。
相反,有两种替代方法:
<code class="xml"><manifestclasspath property="myprogram.manifest.classpath" jarfile="MyProgram.jar"> <classpath> <fileset dir="libs" includes="*.jar" /> </classpath> </manifestclasspath></code>
<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 将包含所有依赖项。
java -cp 'MyProgram.jar:libs/*' main.Main
使用 * 语法扩展以包含“libs”目录中的所有 JAR 文件。
请记住,选择 -jar 或 -cp 方法至关重要。两者结合可能会导致类路径冲突和错误。
以上是如何执行具有附加依赖项的 JAR 文件:-jar 与 -cp?的详细内容。更多信息请关注PHP中文网其他相关文章!