我正在设置独立服务器..以修改数据库中的数据。 完成后,我运行了maven build,应用程序开始修改数据库中的数据。真的,它才刚刚开始插入,并不断更新。
# PostgreSQL DB - "bar"
spring.datasource.jdbc-url=jdbc:postgresql://localhost:5600/bar
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=org.postgresql.Driver
# MySQL DB - "foo"
rm.datasource.jdbc-url=jdbc:mysql://localhost:5601/foo
rm.datasource.username=
rm.datasource.password=
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
这就是我在应用程序属性中所拥有的全部。我有两个配置类作为数据库配置。它们包含更多属性:
MySQL
properties.put("hibernate.hbm2ddl.auto", "none");
properties.put("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
properties.put("rm.datasource.driver-class-name", "com.mysql.jdbc.Driver");
properties.put("zeroDateTimeBehavior", "convertToNull");
Postgres
properties.put("hibernate.hbm2ddl.auto", "none");
properties.put("hibernate.dialect","org.hibernate.dialect.PostgreSQL9Dialect");
构建项目时,我的应用程序插入了postgreSql数据库中。
答案 0 :(得分:1)
如果您的Maven项目是通过STS(Spring工具套件)或Spring Initializr生成的,他们将自动创建单元测试类,如下所示:
@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTest {
@Test
public void contextLoads() throws Exception {
}
}
@SpringBootTest
注释告诉Spring Boot去寻找一个主要的配置类(例如一个带有@SpringBootApplication
的类),然后使用它来启动Spring应用程序上下文。
因此,如果要在运行Maven构建时暂时跳过单元测试,则有几种方法:
mvn install -DskipTests
或mvn install -Dmaven.test.skip=true
。<groupId>org.apache.maven.plugins</groupId>
的 skipTests 属性设置为true。顺便说一句,您还应该检查启动时应用程序为什么要执行向数据库中插入/更新数据的操作。
答案 1 :(得分:0)
嗨,我看到了不同的可能解决方案:
mvn clean install -DskipTests
或mvn clean install -Dmaven.test.skip=true
跳过测试如果将来需要进行测试,请为添加的测试定义一个内存数据库:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
到您的pom.xml 对于最后一种解决方案,您可能需要一些用于数据库的初始化脚本