使用附加类路径选项运行 JAR:了解“-cp”与“-jar”困境
执行 JAR 文件时,开发人员可能需要访问 JAR 本身包含的库或类之外的其他库或类。为了解决这个问题,Java 提供了两个选项:使用 -cp(类路径)或 -jar 命令行标志。
-cp 与 -jar:相互排斥的情况
需要注意的是,-cp 和 -jar 具有不同的用途,不能组合使用。 -jar 标志指定要执行的 JAR 文件,而 -cp 定义用于定位其他类和依赖项的类路径。
-jar 选项:
如果所需的依赖项封装在 JAR 文件中,或者如果可以从类路径中检索它们,则单独使用 -jar 标志就足够了。 Java 虚拟机 (JVM) 将自动从 JAR 和类路径加载类,如 JAR 清单文件中指定的那样。
-cp 选项:
当 JAR 中未包含外部依赖项或无法在类路径中找到外部依赖项时,必须使用 -cp 选项。它允许开发人员显式定义类路径,包括主 JAR 和任何必要的附加 JAR 或包含类文件的目录。以下语法演示了这一点:
java -cp 'MyProgram.jar:libs/*' main.Main
在此示例中,MyProgram.jar 指定主 JAR,libs/* (使用 dir/* 语法)将 libs 子目录中的所有 JAR 添加到类路径,并且main.Main 表示程序的入口点(主类)。
替代方案:修改 JAR 清单文件
或者,Ant 的
通过了解 -cp 和 -jar 的差异和用例,开发人员可以有效地执行需要额外类路径依赖项的 JAR 文件,确保无缝和错误 -自由执行。
以上是如何运行具有附加类路径选项的 JAR:-cp 与 -jar 解释?的详细内容。更多信息请关注PHP中文网其他相关文章!