将jar安装到本地Maven仓库
转自:https://blog.csdn.net/ShuSheng0007/article/details/78547264/
第一种方案
1 | mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging> |
<path-to-file>
: 要安装的JAR的本地路径<group-id>
:要安装的JAR的Group Id<artifact-id>
: 要安装的JAR的 Artificial Id<version>
: JAR 版本<packaging>
: 打包类型,例如JAR
最好在
pom.xml
文件所在的目录运行上述命令,个人经验不在根目录运行有时会安装不成功
执行上述命令后,我们就可以在pom.xml
文件中引用
1 | <dependency> |
总结:这种方法弊端较大,程序的可维护性以及移植性较低。例如当你改变本地Maven仓库时需要重新安装。如果引用此JAR
的项目是多人协调工作的项目,则每个人都要将其安装在自己的本地仓库。
解决办法
可以将此JAR
文件放在工程的根目录下,让其随着项目走,然后在pom.xml
文件中使用maven-install-plugin
在Maven
初始化阶段完成安装。
1 | <plugin> |
${basedir}
表示pom.xml
文件所在的目录
第二种方案
第二种方法比较粗暴简单,具体为将依赖设置为系统域,通过完全路径引用。例如要引用的JAR
文件在 <PROJECT_ROOT_FOLDER>/lib
下,那么使用如下方法添加依赖
1 | <dependency> |
${basedir}
表示pom.xml
文件所在的目录,例如你的JAR
文件在D盘下的jarLibs
里面,就将${basedir}
替换为D:/jarLibs
即可。
这种方法我自己在SpringBoot项目中打包成war文件时,没有成功打包到里面
第三种方案
第三种方案与第一种差不多,不同的是JAR
文件被安装在一个单独的仓库里。这个本地仓库建在你项目的根目录下,随着项目走。例如
1:我们在${basedir}
(pom.xml
文件所在路径)目录下建立一个叫maven-repository
的本地仓库。
2:使用如下命令安装我们要引用的JAR
到此仓库中
1 | mvn deploy:deploy-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=jar -Durl=file:./maven-repository/ -DrepositoryId=maven-repository -DupdateReleaseInfo=true |
3:在pom.xml
中如下使用
- 申明仓库
1 | <repositories> |
- 然后添加引用
1 | <dependency> |
Maven常用命令
1 | [root@zhang ~]# mvn --help |
1 | mvn package \ |
- -Dmaven.repo.local 强制使用本地源
- -Dmaven.test.skip 跳过单测
- -f 指定配置文件