mvn spring-boot:run 不会在资源中执行 schema.sql
Posted
技术标签:
【中文标题】mvn spring-boot:run 不会在资源中执行 schema.sql【英文标题】:mvn spring-boot:run will not execute schema.sql in resources 【发布时间】:2021-07-31 16:15:55 【问题描述】:我正在尝试构建 spring-boot 应用程序,这里 repo https://github.com/tacocloud/taco-cloud,但是当 maven 编译启动它时,没有执行 schema.sql 和 data.sql。
即使有这个application.properties
:
spring.thymeleaf.cache=false
spring.sql.init.mode=always`
我能做什么?
【问题讨论】:
我认为schema.sql
是用于spring data JPA,而仅spring data jdbc 是不够的。
看起来像 application.properties
中的错字,spring.sql.init.mode
的值中有一个尾随的反引号
【参考方案1】:
上面的cmets是正确的。 看看 how-to guide。 将 JPA 启动器添加到您的 pom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
还有一个数据库:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>runtime</scope>
</dependency>
在 application.properties 中配置数据源:
spring.datasource.driver-class-name: org.hsqldb.jdbc.JDBCDriver
spring.datasource.url: jdbc:hsqldb:mem:testdb;DB_CLOSE_DELAY=-1
spring.datasource.username: sa
spring.datasource.password:
您可能还需要:
spring.jpa.defer-datasource-initialization: true
请参阅 Spring how-to(上面链接)中的讨论。
【讨论】:
以上是关于mvn spring-boot:run 不会在资源中执行 schema.sql的主要内容,如果未能解决你的问题,请参考以下文章
mvn spring-boot:run vs java -jar
使用 'mvn spring-boot:run' 时出错;但不适用于 java -jar 或 intelliJ
mvn spring-boot:run 导致用户'root'@'localhost'的访问被拒绝(使用密码:YES)
Eclipse 中的“mvn spring-boot:run”和“添加到 Tomcat 服务器”有啥区别?
Spring Boot 应用程序 - 启动时间与“mvn spring-boot:run”和“java -jar”的差异