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运行不了的解决办法

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”的差异