我们有一个Spring Boot应用程序,其中既有application.properties又有application-dev.properties。应用程序属性文件只有一些全面的默认值,而application-dev属性中有一些非常基本的凭据。
当我们部署jar时,应用程序从其部署到的环境中获取其属性,因此,我们不使用配置文件功能,除非我们想要针对我们的“dev”环境进行本地开发。
我们的secops部门告诉我们,他们不再希望我们包含部署到生产环境的最终jar中的dev属性文件,但他们同意我们将该文件保留在版本控制中,这样我们至少可以跟踪更改并在本地构建/运行。
我一直在通读spring-boot- maven -plugin配置,我找不到一种方法来告诉maven在构建最终jar时排除该文件,同时仍然将其复制到target目录中,以便我们的团队仍然可以在本地进行黑客攻击。
发布于 2019-04-22 21:51:17
我花了一点时间摆弄配置文件,但我发现向别人解释它太令人困惑了,并且随着场景的额外排列而变得有点麻烦。
最终,最简单的事情是配置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>https://stackoverflow.com/questions/55286988
复制相似问题