База данных H2 активируется по умолчанию, хотя я включил оракул из файлов свойств загрузки Spring

Мы используем иерархически организованные файлы свойств загрузки Spring в нашем приложении. Например,

Наши 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, а также удалить зависимость h2 из файла сборки gradle.

Ценю твою помощь!

1 ответ

Вы пытались изменить область зависимости h2? Изменение области тестирования сработало для меня.

      <dependency>
     <groupId>com.h2database</groupId>
     <artifactId>h2</artifactId>
     <scope>test</scope>
</dependency>
Другие вопросы по тегам