2

我们在应用程序中使用分层组织的 Spring Boot 属性文件。例如,

我们的 application.properties 将只包含一行。

spring.profiles.include = logging, kafka, oracle, misc

这里用逗号分隔的所有值都是application-logging.properties它所引用的其他属性文件(即等等)(我们选择这个是为了在不同环境中的可重用性)

我还有另一个application-h2.properties可以在测试时包含的属性文件。因此,当我测试时,我的 application.properties 将如下所示。

spring.profiles.include = logging, kafka, h2, misc

一直困扰我的问题是我的应用程序在启动时总是在考虑 h2 数据库,尽管我包括 oracle

这是我的application-oracle.properties文件的外观。

spring.datasource.url=${ORACLE_URL}
spring.datasource.username=${ORACLE_USERNAME}
spring.datasource.password=${ORACLE_PASSWORD}
spring.jpa.show-sql=true
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.jpa.properties.hibernate.jdbc.time_zone = UTC

我必须启用 Oracle 的唯一方法是删除 h2 属性文件,并从 gradle 构建文件中删除 h2 依赖项。

感谢你的帮助!

4

0 回答 0