51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

在 Java 中将 JAR 添加到 Classpath 的几种方法

1、简介 {#1简介}

在开发 Java 项目时,我们经常依赖外部库来开发应用。

本文将带你了解把这些第三方库作为 JAR 添加到 classpath 下的不同方法。

2、在命令行中使用 -cp 或 -classpath 选项 {#2在命令行中使用--cp-或--classpath-选项}

如果我们从命令行启动程序,那么可以在命令中指定 JAR 依赖:

java -cp /path/to/jar/file.jar com.example.MyClass

如上,/path/to/jar/file.jar 是 JAR 文件的路径,com.example.MyClass 是要执行的类。

还可以添加多个 jar:

java -cp "lib/jar1.jar:lib/jar2.jar" com.example.MyClass

3、在命令行中使用 CLASSPATH {#3在命令行中使用-classpath}

在某些情况下,在同一台机器上运行的多个 Java 程序可能需要用同一个 JAR。

在这种情况下,我们可以在 macOS/Linux 中设置 CLASSPATH 环境变量,而不是在每条命令中指定 classpath

export CLASSPATH=/path/to/jar/file.jar

Windows 系统的设置方法如下:

set CLASSPATH=C:\path\to\jar\file.jar

设置 CLASSPATH 后,我们就可以直接运行 Java 程序,而无需指定 -classpath 选项。

注意,如果我们以这种方式设置 CLASSPATH ,它只对该终端会话有效。一旦终端关闭,设置就会丢失。所以,我们可以将 classpath 添加到环境变量,使其永久有效。

4、在 MANIFEST.MF 文件中指定 Classpath {#4在-manifestmf-文件中指定-classpath}

当我们创建一个独立可执行的应用时,最佳实践是将所有依赖的 JAR 都打包到一个 JAR 中。

为此,我们需要在 JAR 文件的 MANIFEST.MF 文件中配置 classpath:

Manifest-Version: 1.0
Class-Path: lib/jar1.jar lib/jar2.jar
Main-Class: com.example.MainClass

然后,在创建应用 JAR 时添加此清单:

jar cvfm app.jar MANIFEST.MF -C /path/to/classes .

接着,就可以直接运行它了:

java -jar app.jar

classpath 上包括了 lib/jar1.jarlib/jar2.jar

注意,Class-Path 选项优先于 CLASSPATH 环境变量和 -classpath 命令行选项。

5、将 JAR 添加到 lib/ext 目录 {#5将-jar-添加到-libext-目录}

在 Java 安装的 lib/ext 目录中添加 JAR 是一种传统机制,其中放置的 JAR 文件会自动添加到 classpath 中。不过,对于大多数用例来说,这种方法并不推荐。

由于这些 JAR 由外部类加载器加载,因此它们的优先级高于 CLASSPATH 环境变量中指定的 JAR 或 -classpath-cp 选项中指定的目录。

6、在 Eclipse/Intellij IDE 中添加 JAR 文件 {#6在-eclipseintellij-ide-中添加-jar-文件}

使用 EclipseIntelliJ 等常用的 IDE,我们可以轻松地将 JAR 文件添加到项目的 CLASSPATH 中。这两种集 IDE 都提供了友好的用户界面,可以在项目中包含外部库。

有关详细说明,可以参考 IDE 专用文档,以获得最准确和最新的指导。

7、使用构建工具 {#7使用构建工具}

上述方法适用于小型项目,对于大中型项目更推荐使用构建工具,如 Maven 和 Gradle。

以 Maven 为例,假设我们的项目遵循标准的 Maven 项目结构,我们可以在项目中的 pom.xml 中添加一个依赖项(这会包括其传递依赖项):

<dependencies>
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>example-library</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

运行打包命令:

mvn package

Maven 会为我们在类路径中包含这些 JAR。

我们还可以将构建工具与 IDE 相结合,进一步简化在类路径中添加 JAR 的过程。

8、总结 {#8总结}

本文介绍了添加外部依赖库到 CLASSPATH 中的几种方式,这取决于项目的复杂性和要求。对于快速测试或脚本,一个简单的命令行选项可能就足够了。对于大型项目,则可能需要使用 Maven 或 Gradle 等强大的工具来管理项目依赖关系。


Ref:https://www.baeldung.com/java-classpath-include-jars

赞(0)
未经允许不得转载:工具盒子 » 在 Java 中将 JAR 添加到 Classpath 的几种方法