当前位置: 首页 > news >正文

pom.xml 文件中配置你项目中的外部 jar 包打包方式

使用 system 作用域(不推荐,但简单直接)

<dependency><groupId>com.test</groupId> <!-- 可自定义,建议与项目相关 --><artifactId>open-sdk</artifactId> <!-- 可自定义,建议体现JAR包功能 --><version>1.0.1</version> <!-- 版本号,与JAR包实际版本对应 --><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/open-sdk-1.0.1-jar-with-dependencies.jar</systemPath>
</dependency>

说明:

<groupId>、<artifactId>、<version> 可根据实际情况自定义,但要保证唯一性和可读性。
<scope>system</scope> 表示从本地文件系统获取依赖,需配合 <systemPath> 指定路径。
<systemPath> 中的 ${project.basedir} 是项目根目录变量,确保路径正确指向 lib 下的目标 jar 包。

不过这种方式有弊端,使用 system 作用域的依赖,Maven 默认不会将其打入最终的可执行 jar 包中,若要打包进去,还需在 pom.xml 的 标签内添加如下配置:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope></configuration></plugin></plugins>
</build>

方式二:安装到本地 Maven 仓库后引用(推荐)

先通过命令将 jar 包安装到本地 Maven 仓库:

mvn install:install-file -Dfile=src/main/resources/lib/open-sdk-1.0.4-jar-with-dependencies.jar -DgroupId=com.moredia -DartifactId=open-sdk -Dversion=1.0.4 -Dpackaging=jar

上述命令中:
-Dfile 后是 jar 包在项目中的实际路径。
-DgroupId、-DartifactId、-Dversion 自定义,与后续 pom 配置对应。
-Dpackaging 表示打包类型为 jar 。

然后需要在 pom.xml 中配置依赖:

<dependency><groupId>com.moredia</groupId><artifactId>open-sdk</artifactId><version>1.0.4</version>
</dependency>
http://www.xdnf.cn/news/717319.html

相关文章:

  • 《100天精通Python——基础篇 2025 第22天:Python 多进程编程入门与实战详解》
  • 09《从依赖管理到容器化部署:Maven 全链路实战笔记,解锁 Java 项目自动化构建的终极奥秘》
  • Cancer Cell丨肺癌早期干预新突破,TIM-3靶点或成关键
  • 【Phytium】飞腾FT2000/4 GPIO功能开发实例【待完成】
  • 变量的计算
  • HarmonyOS开发:Image使用详解
  • 大数据-274 Spark MLib - 基础介绍 机器学习算法 剪枝 后剪枝 ID3 C4.5 CART
  • burpsuit抓包完整示例
  • Python基础教程:控制流与函数入门 - 第4-6天
  • Vue的生命周期
  • 技术栈ES的介绍和使用
  • java每日精进 5.29【请求限流】
  • 7-Zip 工具使用
  • How to Initiate Back-to-Back Write Transactions from Master
  • DMBOK对比知识点整理(4)
  • 力扣HOT100之动态规划:118. 杨辉三角
  • 今日分享:怎么综合分析5星股票?
  • 【Unity博客节选】Playable Graph Monitor 安装使用
  • 安全帽检测算法AI智能分析网关V4守护工地/矿山/工厂等多场景作业安全
  • Accelerate实现多卡并行训练
  • Nexus仓库数据高可用备份与恢复方案(上)
  • MVCC(多版本并发控制)机制
  • Cangjie 中的值类型与引用类型
  • 设置变体控制两个apk, 一个是有密码,一个是没有密码!
  • 英语写作中“广泛、深入、详细地(的)”extensively、in-depth、at length (comprehensive )的用法
  • 46. Permutations和47. Permutations II
  • Spring Event(事件驱动机制)
  • 力扣面试150题--二叉树的右视图
  • leetcode hot100刷题日记——27.对称二叉树
  • ubuntu系统上运行jar程序输出时间时区不对