O aplicativo maven com configuração de vários ambientes não pode ser implantado no tomcat
Estou tentando configurar um ambiente de implantação múltipla para meu aplicativo Web usando o Spring Boot com Maven. Criou vários arquivos .properties em src / main / resources / config. db-dev.properties e db-prod.properties consistem em informações específicas do db:
db.url=jdbc:oracle:thin:@ldap://dev.com/risstg3,
db.username=owner
db.password=godzilla
No mesmo diretório, também tenho application.properties, que lê as variáveis definidas nesses arquivos de propriedades 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
Vários perfis são configurados no meu 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>
Todas as outras configurações são resolvidas pelo Spring Boot com a anotação @SpringBootApplication na minha classe de aplicativo.
Então construí a guerra especificando o perfil usando a opção -P, por exemplomvn install -Pprod
. No entanto, falhei ao implantá-lo com o tomcat na máquina local devido ao seguinte erro:
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
Eu pensei em definir 'hibernate.dialect' em application.properties comspring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
Com base nissofio, esse erro pode não ter necessariamente a ver com o dialeto de hibernação. Você pode vê-lo se a conexão db não for bem-sucedida. Do que eu senti falta? Existe uma maneira de saber se a guerra foi criada com o perfil correto e se as variáveis definidas em db- {dev} .properties foram selecionadas?