maven-Anwendung mit Konfiguration für mehrere Umgebungen kann nicht auf tomcat @ bereitgestellt werd

Ich versuche, die Multi-Deployment-Umgebung für meine Webanwendung mit Spring Boot with Maven zu konfigurieren. Mehrere .properties-Dateien unter src / main / resources / config erstellt. db-dev.properties und db-prod.properties bestehen aus datenbankspezifischen Informationen:

db.url=jdbc:oracle:thin:@ldap://dev.com/risstg3, 
db.username=owner
db.password=godzilla

Im selben Verzeichnis habe ich auch application.properties, das die in diesen DB-Eigenschaftendateien definierten Variablen einliest.

#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

Mehrere Profile sind in meinem POM eingerichtet:

 <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>

Alle anderen Einstellungen werden von Spring Boot mit der Annotation @SpringBootApplication in meiner Anwendungsklasse vorgenommen.

Dann habe ich den Krieg durch Angabe eines Profils mit der Option -P erstellt, z.mvn install -Pprod. Aufgrund des folgenden Fehlers konnte ich es jedoch nicht mit tomcat auf dem lokalen Computer bereitstellen:

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

Ich dachte, ich setze 'hibernate.dialect' in application.properties mitspring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect

Basierend aufFade, dieser Fehler hat möglicherweise nicht unbedingt mit dem Dialekt "Ruhezustand" zu tun. Sie können es sehen, wenn die DB-Verbindung nicht erfolgreich ist. Was habe ich verpasst? Kann ich feststellen, ob der Krieg mit dem richtigen Profil erstellt wurde und ob die in db- {dev} .properties definierten Variablen abgerufen wurden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage