引入本地包的方式

1.项目中需要引用本地jar包,而不是从中央仓库获取。

例如,短信发送时需要调用第三方接口,而调用接口时,短信内容和电话号码需要进行加密。这里所用的加密方式由第三方提供的 abc.jar 包,其版本为 1.0,并且 groupId 设置为 com.tool,与中央仓库的依赖不同。

方式1:将包install到本地,然后再正常引入依赖。

step1-install到本地

mvn install:install-file "-Dfile=jar包目录(比如D:\\abc.jar)" "-DgroupId=com.tool" "-DartifactId=abc" "-Dversion=1.0" "-Dpackaging=jar

step2-引入依赖

<dependency>
    <groupId>com.tool</groupId>
    <artifactId>abc</artifactId>
    <version>1.0</version>
</dependency>

方式2: systemPath(不推荐)

systemPath引用的jar文件能直接用鼠标点进去,则说明路径正确

<dependency>
    <groupId>com.tool</groupId>
    <artifactId>abc</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/lib/abc.jar</systemPath>
</dependency>

2.不推荐systemPath方式的原因是:

打包时会提示:强烈建议解决这些问题,因为它们可能会威胁到构建的稳定性。因此,未来的 Maven 版本可能不再支持构建此类格式不正确的项目。

3.优缺点对比与说明

3.1使用 Maven 的 mvn install 命令:

优势:
  • 标准化管理: 使用

mvn install 将本地 JAR 包安装到本地 Maven 仓库中,使得您可以在项目中以标准的 Maven 依赖方式引用它,无需使用 。

  • 依赖解析: Maven 会自动解析和下载依赖项的传递性,这意味着您引入的本地 JAR 包可能还依赖其他库,这些依赖将会被正确解析和下载。
劣势:
  • 构建额外步骤: 需要执行

mvn install 命令来安装本地 JAR 包,可能需要更多步骤,特别是在共享项目或持续集成环境中。

  • 依赖管理: 需要在每个引用该本地依赖的项目中执行

mvn install,可能需要更多的手动操作。

3.2使用 systemPaty方式:

优势:
  • 快速引入: 可以更快速地将本地 JAR 包引入到项目中,无需执行mvn install 命令。
  • 简单明确: 使用 直接指定 JAR 包的路径,使得依赖的来源更加清晰。
劣势:
  • 依赖不稳定: 使用 可能会导致构建的稳定性问题,因为它依赖于本地文件系统路径,可能在不同环境中表现不一致。
  • 传递性依赖: 使用 不会自动解决和下载传递性依赖,这可能需要手动管理。

综合来看,使用 Maven 的 mvn install 命令将本地 JAR 包安装到本地仓库中更为标准化、稳定和易于管理。虽然使用 可以更快速地引入本地依赖,但它可能导致一些不稳定性和依赖管理的问题。如果可能,建议优先考虑使用 Maven 的 mvn install 命令来引入本地依赖,以获得更好的依赖管理和构建稳定性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值