【问题标题】:Child Project reads the Parent property file instead of own property file子项目读取父属性文件而不是自己的属性文件
【发布时间】:2018-01-27 12:27:16
【问题描述】:

有 2 个 Spring Boot 项目。让我们得到他们的名字 A 和 B。项目 A 正在使用项目 B。

A - 父 // B - 子

当我运行项目 A 时,我作为依赖项添加的项目 B 读取了属性文件,这是不正确的。

B项目

属性文件:application.yml

@SpringBootApplication
public class OblspApplication {
}

@Configuration
@PropertySource("classpath:application.yml")
public class LogSender {
}

一个项目

属性文件:application.yml

@EnableEurekaClient
@SpringBootApplication
@Import(OblspApplication.class)
public class ObLoggingServiceApplication {}

我启动项目A时,LogSender类中的属性源注解读取的是项目A的属性文件,而不是自己的属性文件。

我该如何解决这个问题? 谢谢

【问题讨论】:

  • There are 2 spring boot projects 我不会推荐这种方法。使project B 依赖non spring boot 并作为库注入。如果两者都是独立的服务,则使用 进程间通信

标签: spring spring-boot dependency-injection


【解决方案1】:

看来Project B 是Project A 所依赖的库。库不应声明它自己的属性文件,因为只会从类路径中读取一个属性文件。通常,库会声明要在其他地方使用的 bean,但是使用这些 bean 的应用程序是否提供了一些配置以在属性文件中使用这些 bean,在您的情况下是 Project A。

查看https://spring.io/guides/gs/multi-module/ 以获取通过示例解释这一点的指南。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 2021-11-10
    • 2014-12-11
    • 2023-02-03
    • 2011-09-08
    相关资源
    最近更新 更多