Spring Boot之如何引入非maven依赖的jar包
1 背景
今天踩了个小坑:idea中多模块的项目引外来jar包不生效,折腾了一个多小时。最后还是同事指点迷津,瞬间顿悟。此处记载一下。
2 idea开发环境如何引入生效
开发环境中,对于多模块的项目而言,引入第三方依赖,不在于某个模块依赖,而引入。需在启动类所在的模块中引入。启动才能生效。一图胜前文,直接上图:
2.1 .iml文件
多说一句,对于开发环境,如何判断外部引入的依赖包,是否真的引入进来了,则可以在.imI文件编辑查看,内部是否包含引入的jar包相关名称字段,便可以判断。imI文件一般位置在启动类所在的模块文件夹下面。
它是Idea自动创建的模块文件,用于Java应用开发,存储一些模块开发相关的信息,比如Java组件、插件组件及maven组件等。并且也会存储模块路径信息,依赖信息以及一些别的配置。
3 生产环境如何引入
在打包模块的pom文件的maven-plugin中添加layout属性。
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.8.RELEASE</version>
<configuration>
<layout>ZIP</layout>
<mainClass>启动类的位置</mainClass>
</configuration>
</plugin>
并且启动jar包时加上 -Dloader.path=./config 参数。即可以做到生产环境上做到依赖可随时替换,而无需发项目的新版本。
例如:
java -Dloader.path=<jar包所在位置> -jar xxx.jar
笔者公号
刚开始做的公号,有技术干货,也有投资理财分享,欢迎一起沟通交流
部分内容参考自: SpringBoot加载外部依赖