在开发项目时,为了开发、测试方便,系统会有多套配置文件,当项目打包的时候,即使测试环境在启动项目时指定配置文件,仍然可能会存在各种问题,因此最好的办法就是在打包项目时,将这些配置文件全部排除在外。
官方文档中给出了解决方法。
官方参考文档:https://maven.apache.org/plugins/maven-jar-plugin/examples/include-exclude.html.
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<includes>
<include>**/service/*</include>
</includes>
</configuration>
</plugin>
...
</plugins>
</build>
...
</project>
我是如何让解决的
项目结构:
排除maven打包配置文件的方法如下:在 pom.xml 文件中添加如下代码即可。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<excludes>
<exclude>bootstrap.yml</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
maven 进行打包后,验证所生成 jar 包的结果:
我们启动时可以在 java -jar 命令中指定配置文件(配置文件放到 jar 包所在目录下)进行启动即可,当然还可以有其它方式指定启动时使用的配置文件。
java -jar boxx-0.0.1-SNAPSHOT.jar --Dspring.config.location=bootstrap.yml