很多时候,我们自己的项目有许多的子模块,之间互相有依赖,但是我们没有私服来发布打好的 jar 包。
最常见的就是本地有一个 Util 包,随手写的其他项目想要引用,却苦于没有私服。把代码扔到同一个项目,强迫症有忍不住。
这个问题 Maven 是有解决方案的。本质上还是打包发布,只是不再发布到远端的 Maven 仓库,而是打包完成之后,将这个 jar 包安装到本地的 maven 即可。
首先,在你的util子模块下执行下列命令。
# 打包
mvn clean package
# 安装到本地 mvn
mvn install:install-file -Dfile=your_jar_file_path.jar -DgroupId=your_groupId -DartifactId=your_artifactId -Dversion=your_version
# 检查是否安装成功
ll ~/.m2/your_groupId/your_artifactId/之后,在需要引入这个 jar 包的项目的pom.xml文件中,按照正常使用添加即可。
<dependency>
<groupId>your_groupId</groupId>
<artifactId>your_artifactId</artifactId>
<version>your_version</version>
</dependency>当 mvn 需要引入的时候,会自动从本地仓库去加载的。