приложение maven с мультиконфигурацией среды не может быть развернуто на Tomcat
Я пытаюсь настроить среду мульти развертывания для моего веб-приложения с помощью Spring Boot с Maven. Создал несколько файлов .properties в src / main / resources / config. db-dev.properties и db-prod.properties состоят из конкретной информации о БД:
db.url=jdbc:oracle:thin:@ldap://dev.com/risstg3,
db.username=owner
db.password=godzilla
В том же каталоге у меня также есть application.properties, который считывает переменные, определенные в этих файлах свойств db.
#database info
spring.datasource.driverClassName=oracle.jdbc.OracleDriver
spring.datasource.url=${db.url}
spring.datasource.username=${db.username}
spring.datasource.password=${db.password}
#hibernate config
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
Несколько профилей настроены в моем pom:
<profiles>
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
</profiles>
<build>
<filters>
<filter>src/main/resources/config/db-${env}.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources/config</directory>
<filtering>true</filtering>
</resource>
</resources>
Все остальные настройки выполняются Spring Boot с аннотацией @SpringBootApplication в моем классе приложения.
Затем я построил войну, указав профиль, используя опцию -P, например,mvn install -Pprod
, Однако мне не удалось развернуть его с tomcat на локальном компьютере из-за следующей ошибки:
SEVERE: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ristoreService]]
Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
Я думал, что я установил 'hibernate.dialect' в application.properties сspring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
Основываясь на этомнитьэта ошибка не обязательно связана с гибернацией диалекта. Вы можете увидеть это, если соединение с БД не удалось. Что я упустил? Есть ли способ узнать, создана ли война с правильным профилем и выбраны ли переменные, определенные в db- {dev} .properties?