目标:
1.将普通的MAVEN JAVA工程打包成SpringBoot可运行的jar包
2.将application.yml和log4j2.xml
1.打包
SpringBoot项目打包要求将依赖的jar全部打进去,因为SpringBoot的自动配置需要用到里面的spring.factory文件,该文件是自动配置的关键步骤之一
如果在IDEA或者ECLPSE里面使用直接创建SpringBoot工程,然后打包即可完成上面的需求,但我是在Idea里面创建的普通MAVEN工程,然后打包依赖的任何JAR都没有打进去
然后百度了半天,分享一下:
在<build></build>标签中添加如下配置
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.9.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
执行打包操作

打包出来结果

查看打包内部结果

配置文件外置
在pom.xml文件中的<build></build>增加如下内容
<resources>
<resource>
<directory>src\main\resources</directory>
<excludes>
<exclude>application.yml</exclude>
<exclude>log4j2.xml</exclude>
</excludes>
</resource>
</resources>
重新打包


对比发现application.yml和log4j2.xml没有在jar包中
启动测试
java -jar provider-1.0.0.jar --logging.config=./log4j2.xml

启动正常
日志也正常输出

结束
本文介绍如何将普通Maven Java工程转换为SpringBoot可执行的jar包,包括配置spring-boot-maven-plugin进行打包,以及如何将application.yml和log4j2.xml配置文件外置。

905

被折叠的 条评论
为什么被折叠?



