【问题标题】:my application.properties from dependency is not available in spring boot application我的 application.properties 依赖项在 Spring Boot 应用程序中不可用
【发布时间】:2018-05-07 17:53:15
【问题描述】:

我有弹簧启动应用程序。 在这个 spring boot (fat-jar) 应用程序中,我有 classpath:config/application.propertiesclasspath:application-env.properties

我正在使用命令启动此应用程序:

java -Dspring.profiles.active=env -jar application.jar --some-parameter=some-value

问题:为什么 application.properties 文件在我的依赖中本地化的类(bean)中初始化此应用程序时不可用?

此文件 (application.properties) 本地化为我的依赖项的 classpath:application.properties

我期待一些带有特定前缀的属性 - 使用注释:

@ConfigurationProperties(prefix = "someprefix")

换句话说,同样的:

应用Aclasspath:config/application.properties + 应用程序 A 具有/正在使用对某些工件 D 的依赖关系 依赖(jar)D.jarclasspath:application.properties 此 application.properies 在使用注释 @ConfigurationProperties(prefix = "someprefix")

的 bean B 初始化期间不可用

根据24.3 Application property files“类路径根”应该没问题 - 但事实并非如此。

这是 fat-jar 应用程序 - 在一个大 jar 中我们拥有一切 - 包括文件夹 'lib' 以及所有依赖项。

【问题讨论】:

    标签: spring-boot configuration dependency-properties


    【解决方案1】:

    好的,:( 我的问题的解决方案是微不足道的。我的应用程序加载的 classpath:/application.properites 与我想象的不同。

    我有另一个依赖项 jar 非直接引入我的项目(它是我的依赖项的依赖项),其中包含不同的 classpath:/application.properites

    换句话说,一切正常,但只有一个'classpath:/application.properties'被加载,即使你有两个不同的依赖项。

    我使用/actuator/env 找出加载了哪个classpath:/application.dependency

    【讨论】:

    • 解决方案是什么?如何让两个文件都加载?
    猜你喜欢
    • 2020-11-28
    • 2016-06-10
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    • 2018-12-01
    • 2023-03-10
    • 1970-01-01
    • 2017-10-20
    相关资源
    最近更新 更多