spring-boot-maven-plugin 安装本地jar 包
本地使用nexus 进行maven仓库管理。项目deploy 引入之后,总是找不到jar中定义的class或者配置文件等。
从截图上可以看到虽然class文件是有的,但是引用的时候却是找不到的。
Spring Boot Maven plugin:
Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能。
Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用。
Spring Boot Maven plugin的5个Goals
- spring-boot:repackage,默认goal。在mvn package之后,再次打包可执行的jar/war,同时保留mvn package生成的jar/war为.origin
- spring-boot:run,运行Spring Boot应用
- spring-boot:start,在mvn integration-test阶段,进行Spring Boot应用生命周期的管理
- spring-boot:stop,在mvn integration-test阶段,进行Spring Boot应用生命周期的管理
- spring-boot:build-info,生成Actuator使用的构建信息文件build-info.properties
原因:
使用spring-boot-maven-plugin 时,执行mvn install 默认安装的是可以执行的jar包。
在spring boot 的target
目录下有两个jar文件,一个是 .jar
,一个是.jar.original
,其中.jar 是可以执行的jar包,默认会安装这个包到本地仓库,此时其它工程就会出现,找不到相关类,如果需要提供给其它工程用时,就不能用此jar包,应该使用.jar.original
的jar包。
【参考】
1.https://www.cnblogs.com/thinking-better/p/7827368.html
3.https://docs.spring.io/spring-boot/docs/2.0.0.BUILD-SNAPSHOT/maven-plugin//repackage-mojo.html
博客地址迁移,博客目前更新在 csdn: https://blog.csdn.net/H_Rhui