springboot 的web项目配置文件application.properties在jar包内外的问题

发布于 2022-09-05 20:16:53 字数 810 浏览 16 评论 0

springboot 的web项目
在maven pom文件里,spring-boot-maven-plugin和maven-resources-plugin都存在

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>

        <!-- resource插件 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.0.2</version><!--$NO-MVN-MAN-VER$ -->
        </plugin>
    </plugins>
</build>

这样的话,打的jar包里包含applications.properties(称为A)
在生产环境运行的时候,这个jar包和另一个applications.properties(称为B)同时在一个文件夹内
那么B会覆盖A的配置吗?为何?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

魂归处 2022-09-12 20:16:53

楼主试过吗?我觉得不会,

許願樹丅啲祈禱 2022-09-12 20:16:53

https://docs.spring.io/spring...

  1. A /config subdirectory of the current directory.
  2. The current directory
  3. A classpath /config package
  4. The classpath root

The list is ordered by precedence (properties defined in locations higher in the list override those defined in lower locations).

根据 spring-boot 官方描述, 那些较低顺序加载的配置会覆盖较高配置的加载. 换句话说就是A classpath /config package的配置会覆盖The classpath root中的配置.

$ java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文