如何使用Maven创建不包含所有依赖的工具Jar包
Maven工具Jar依赖传递实现方案
- 你的需求完全可以实现,这是Maven依赖管理的核心特性,不需要把依赖信息塞进工具Jar包内。
- 当你将工具项目的构件(Jar文件+对应POM文件)上传至远程仓库后,其他团队引入你的工具依赖时,Maven会自动拉取该工具Jar对应的POM文件,读取其中配置的apache.poi、commons-lang3等依赖,并自动下载这些下游依赖,最终打包到他们的WAR包中。
- 你只需确保两点:
- 工具项目的pom.xml中已正确声明所有依赖(默认
compilescope的依赖会自动传递) - 执行
mvn deploy时,Maven会默认将工具Jar和对应的POM文件一同上传至远程仓库,无需额外配置
- 工具项目的pom.xml中已正确声明所有依赖(默认
- 若后续有部分依赖不想被传递,可在对应依赖节点添加
<scope>provided</scope>或<optional>true</optional>,但当前场景无需此操作。
内容的提问来源于stack exchange,提问作者user418836
相关产品推荐
相关产品推荐

