【发布时间】:2017-02-13 13:32:54
【问题描述】:
我正在使用 Spring Boot/JPA/Hibernate。我想在 localhost 上测试时使用 HSQLDB,在服务器上部署时使用 MySQL。
在 pom.xml 中,我对 MySQL 有这个依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
以及对 HSQLDB 的依赖:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</dependency>
由于 Spring Boot 自动配置,我可能无法将这两个依赖项都放在 pom.xml 中。但是我想在local Spring 配置文件处于活动状态时使用 HSQLDB,并在 server Spring 配置文件处于活动状态时使用 MySQL。理想情况下,我想只生成一个war文件并使用mvn spring-boot:run运行本地版本,然后从war文件部署服务器版本。
有什么想法吗?
P.S.:我正在使用 maven
【问题讨论】:
-
如果两个依赖项都设置了,你会遇到什么问题?应用程序是否未正确启动?或者别的什么
-
也许您可以在应用程序中实现两个不同的数据源,并让配置文件值决定使用哪个数据源。
-
@Patrick 经过一番调查,我发现问题出在 MySQL 和 HSQLDB 之间的 sql 方言不兼容,但 Stephane Nicoll 是对的,在 pom.xml 中同时具有这两个依赖项是没有问题的。
标签: hibernate maven jpa spring-boot profile