java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Maven 本地依赖库打包

Maven项目中将本地依赖库打包到最终的JAR中的实现

作者:墨鸦_Cormorant

本文主要介绍了Maven项目中将本地依赖库打包到最终的JAR中的实现,将本地依赖安装到Maven本地仓库,可以避免使用system作用域带来的不可移植性和打包问题,感兴趣的可以了解一下

前言

在现代后端开发中,构建高效且可扩展的 Web 应用程序通常依赖于多种第三方库和内部依赖。这些依赖可以来自公共仓库,也可能是公司内部自研的库或尚未发布到公共仓库的 JAR 包。本文将详细介绍如何在 Maven 项目中处理本地依赖库,并确保这些依赖能够正确地打包到最终的可执行 JAR 文件中。本文不仅以 Doris 连接器(flink-doris-connector)作为示例,还涵盖了处理其他本地依赖库的通用方法。

为什么需要打包本地依赖库?

通常,依赖库可以通过 Maven 中央仓库或其他公共仓库轻松获取和管理。然而,有时我们需要使用一些未发布到公共仓库的本地 JAR 包,例如:

常见问题:使用 system 作用域

详细步骤

以下是详细的步骤,展示如何在 Maven 项目中包含本地依赖库并将其打包到最终的 JAR 文件中。

步骤 1:将本地 JAR 安装到 Maven 本地仓库

首先,需要将本地的 JAR 包安装到 Maven 的本地仓库中。假设有一个本地的 flink-doris-connector JAR 文件位于项目的 libs 目录下。

打开终端,执行以下命令:

mvn install:install-file \
-DgroupId=org.apache.doris \
-DartifactId=flink-connector-doris_2.12 \
-Dversion=1.14_2.12-1.1.1 \
-Dpackaging=jar \
-Dfile=libs/flink-doris-connector-1.14_2.12-1.1.1.jar

参数说明:

通过上述命令,将本地的 JAR 包安装到 Maven 本地仓库中,使其能够像其他依赖一样被 Maven 管理。

步骤 2:修改 pom.xml 文件中的依赖配置

安装完成后,需要在项目的 pom.xml 文件中引用该依赖。移除之前使用 system 作用域的配置,并改为默认的 compile 作用域。

原始依赖配置(使用 system 作用域)

<dependency>
    <groupId>org.apache.doris</groupId>
    <artifactId>flink-connector-doris_${scala.binary.version}</artifactId>
    <version>1.14_2.12-1.1.1</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/libs/flink-doris-connector-1.14_2.12-1.1.1.jar</systemPath>
</dependency>

修改后的依赖配置

注意:省略了 和 元素,默认作用域为 compile,这样 Maven 会自动处理该依赖。

<dependency>
    <groupId>org.apache.doris</groupId>
    <artifactId>flink-connector-doris_${scala.binary.version}</artifactId>
    <version>1.14_2.12-1.1.1</version>
</dependency>

步骤 3:重新构建项目

mvn clean package

此命令将:

清理之前的构建产物。

编译项目源代码。

使用 Maven Shade 插件将所有依赖(包括本地依赖)打包到最终的 JAR 文件中。

到此这篇关于Maven项目中将本地依赖库打包到最终的JAR中的实现的文章就介绍到这了,更多相关Maven 本地依赖库打包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文