0

我一直在四处寻找并挠头几个小时,但我无法让它工作。

我有一个带有 Gradle 的多模块项目,目前有两个模块:BFF(使用 Spring Boot)和一个从数据库中获取一些数据的模块(受这篇文章的启发)。结构看起来像这样:

├── bff
|  ├── build.gradle.kts
|  ├── src
|      └── main
|           ├── java
|           |    └── some.package.bff.controller
|           |        └── CustomerController
|           └── resources
|               └── application.yaml
├── customer-service
|  ├── build.gradle.kts
|  ├── src
|      └── main
|           ├── java
|           |     ├── some.package.customer.config
|           |     |    ├── CustomerServiceConfiguration
|           |     |    └── CustomerServiceConfigurationProperties
|           |     └── ...
|           └── resources
|               └── customer-service-properties.yaml
├── build.gradle.kts
└── settings.gradle.kts

CustomerServiceConfigurationProperties是一个简单的ConfigurationProperties类。受这篇文章CustomerServiceConfiguration的启发,该类用作将模块“导入”到 BFF 的 Spring 上下文中的一种方式:

@Configuration
@EnableConfigurationProperties(CustomerServiceConfigurationProperties.class)
@PropertySource("classpath:customer-service-properties.yaml") //This fails
@ComponentScan(basePackages = {
    "some.package.customer"
})
public class CustomerServiceConfiguration {
    private static final Logger log = LoggerFactory.getLogger(CustomerServiceConfiguration.class);
    private final CustomerServiceConfigurationProperties configurationProperties;

    public CustomerServiceConfiguration(final CustomerServiceConfigurationProperties configurationProperties) {
        this.configurationProperties = configurationProperties;
    }

    @Bean
   SomeBean someBean() {
       ...
    }
}

添加映射CustomerServiceConfigurationProperties到 BFF 的属性application.yaml按预期工作,并用于配置客户服务模块。不起作用的是为customer-service不应被修改的模块添加配置属性bff,例如 Hibernate 设置。我打算使用customer-service-properties.yaml. 当我尝试使用有问题的行运行应用程序时,Spring 抱怨在类路径中找不到该文件。果然,当查看生成的 jar 时,它不存在。将它添加到bff的资源中是可行的,但这显然不是我想要的。

我是否需要找到一种将customer-service-properties.yaml文件添加到类路径的方法?我应该不使用类路径,而是使用其他东西吗?我只是想做一些我不应该做的事情吗?有没有不同的方法来解决这个问题?

注意:我对 Gradle 还是很陌生,如果这完全相关的话。

让我知道是否需要添加或指定其他内容。任何帮助或指示将不胜感激。谢谢!

4

0 回答 0