私はSpring Boot/JPA/Hibernateを使用しています。私はHSQLDBを使って、サーバにデプロイするときにlocalhostとMySQLをテストしたいと思っています。 pom.xmlでSpring Boot/JPA/Hibernate、Springのプロファイルに従ってデータベースベンダーを切り替えるには?
、私は、MySQLのため、この依存関係を持っている:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
とHSQLDBのため、この依存関係:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</dependency>
私はおそらくにのpom.xmlに両方の依存関係を置くことができませんスプリングブート自動設定。しかし、local
Springプロファイルがアクティブで、server
Springプロファイルがアクティブな場合にMySQLを使用する場合、HSQLDBを使用したいと思います。理想的には、1つのwarファイルしか生成せず、mvn spring-boot:run
でローカルバージョンを実行し、warファイルからサーバーバージョンを展開したいとします。
P.S:私はあなたがMavenのプロフィールない春のプロファイルを作成し、accordily依存関係を追加する必要があるのmaven
をジャーに切り替えるにはもう一つの理由は?アプリケーションが正しく起動していませんか?それ以外の場合 – Patrick
アプリケーションに2つの異なるデータソースを実装し、どのデータソースが使用されているかをプロファイル値で欺くことができます。 – Patrick
@Patrickさらに調査したところ、問題はMySQLとHSQLDBの間のSQLの方言の非互換性から来ていることが分かりましたが、Stephane Nicollはpom.xmlに両方の依存関係を持つことに問題はありません。 –