首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Boot Maven插件:从最终jar中排除属性文件

Spring Boot Maven插件:从最终jar中排除属性文件
EN

Stack Overflow用户
提问于 2019-03-22 02:27:26
回答 1查看 5K关注 0票数 2

我们有一个Spring Boot应用程序,其中既有application.properties又有application-dev.properties。应用程序属性文件只有一些全面的默认值,而application-dev属性中有一些非常基本的凭据。

当我们部署jar时,应用程序从其部署到的环境中获取其属性,因此,我们不使用配置文件功能,除非我们想要针对我们的“dev”环境进行本地开发。

我们的secops部门告诉我们,他们不再希望我们包含部署到生产环境的最终jar中的dev属性文件,但他们同意我们将该文件保留在版本控制中,这样我们至少可以跟踪更改并在本地构建/运行。

我一直在通读spring-boot- maven -plugin配置,我找不到一种方法来告诉maven在构建最终jar时排除该文件,同时仍然将其复制到target目录中,以便我们的团队仍然可以在本地进行黑客攻击。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-22 21:51:17

我花了一点时间摆弄配置文件,但我发现向别人解释它太令人困惑了,并且随着场景的额外排列而变得有点麻烦。

最终,最简单的事情是配置jar插件以排除该文件。这是我们的pom中的一小段。

代码语言:javascript
复制
<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>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55286988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档