spring-boot-maven-plugin 安装本地jar 包

出现问题

使用spring-boot-maven-plugin时,执行mvn install 默认安装的是可以执行的jar包,解压入下图,会把相关的文件放在BOOT-INF里面,这个时候,在其他项目引入时,提示找不到类。


image.png

这时,将源码工程导入到同一个ecplise中,在maven依赖库中出现的时一个目录,而不是期待的jar包文件,如下图


image.png

这个时候,直接运行引入这个jar包的工程,项目没有问题,但当执行mvn package打包引入这个jar的工程时,会出现又找不到相应的类文件,因此,此方法只能在编译调试的时候可以采用这个方法。

那么正式环境,或者只想提供jar包给第三方用,又要怎么操作呢?
这个时候,我们需要使用如下命名来解决,具体操作如下:

解决步骤

细心的朋友可以发现,在spring boost 的target目录下又两个jar文件,一个是 .jar,一个是.jar.original,其中.jar 是可以执行的jar包,默认会安装这个包到本地仓库,此时其它工程就会出现,找不到相关类,如果需要提供给其它工程用时,就不能用此jar包,应该使用.jar.original的jar包。

image.png

具体做法有两种:(推荐使用第一种)

第一种,使用命令安装

进入需要安装的jar包:GMTP-1.0.0.jar.original目录中
执行如下命令安装即可:

mvn install:install-file -Dfile=GMTP-1.0.0.jar.original -DgroupId=com.prettylearn -DartifactId=GMTP -Dversion=1.0.0 -Dpackaging=jar

备注:
以上命令中各个参数务必要与pom.xml的相应值保持一致

image.png
-Dfile=GMTP-1.0.0.jar.original 需要安装的jar包
-DgroupId=com.prettylearn 对应的groupId
-DartifactId=GMTP  对应的:artifactId
-Dversion=1.0.0 对应的:version 
-Dpackaging=jar 对应的:packaging

也可以将命令写成 .bat.sh文件,直接运行即可。

第二种,使用eclipse的maven install安装

此时,本地仓库中已经安装一个可执行jar包文件。这个时候,我们只要替换掉这个jar包文件即可。
具体步骤:
1.将GMTP-1.0.0.jar.original更改名称为GMTP-1.0.0.jar
2.找到对应的本地仓库位置,直接替换GMTP-1.0.0.jar

原文地址:https://www.jianshu.com/p/bcf627a409f2
posted @ 2019-12-14 20:09  星朝  阅读(2517)  评论(0编辑  收藏  举报