我们有一个Spring Boot应用程序,其中有一个application.properties
和一个application-dev.properties
。应用程序属性文件仅具有一些全面的默认值,而application-dev属性中具有一些真正的基本凭据。
在部署jar时,应用程序会从部署环境中获取其属性,因此,除非要针对'dev'环境进行本地开发,否则我们不会利用配置文件功能。
我们的secops部门告诉我们,他们不再希望我们从部署到生产中的最终jar中包含该dev属性文件,但是他们可以将文件留在版本控制中,这样我们至少可以跟踪更改并在本地构建/运行。
我一直在阅读spring-boot-maven-plugin的配置,在构建最终jar的同时仍然将其复制到{{1} }目录,以便我们的团队仍然可以在本地进行黑客入侵。
答案 0 :(得分:0)
我弄乱了配置文件,但是我发现它太混乱了,无法向其他人解释,并且随着场景的其他排列的出现变得有点麻烦。
最简单的方法是配置jar插件以排除文件。这是我们pom的摘录。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<excludes>
<!-- This is where the exclusion occurs -->
<exclude>**/application-*.properties</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>