gpt4 book ai didi

java - Spring H2数据库EmbeddedDatabaseFactory连接URL错误

转载 作者:行者123 更新时间:2023-12-02 10:00:22 25 4
gpt4 key购买 nike

我正在尝试使用 Spring-Boot 2、Java 11、H2 数据库和 Gradle 构建一个简单的 REST 后端。我想使用嵌入式(文件)H2 数据库,因此我的(相关)application.yml (我知道它被正确读取,因为其他值有效)如下所示:

spring:
datasource:
url: "jdbc:h2:./customdb"
username: sa
driver-class-name: org.h2.Driver
jpa:
database-platform: org.hibernate.dialect.H2Dialect
show-sql: false
hibernate:
ddl-auto: update

我的build.gradle:

plugins {
id 'org.springframework.boot' version '2.1.3.RELEASE'
id 'java'
}

apply plugin: 'io.spring.dependency-management'

group = 'net.impfox'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'org.springframework.boot:spring-boot-devtools'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'

compile 'org.springframework.boot:spring-boot-starter-data-rest:2.1.3.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
compile 'javax.persistence:javax.persistence-api:2.2'
compile 'org.hibernate:hibernate-core'
compile 'org.springframework.data:spring-data-jpa'
}

但是,当我启动应用程序时,没有创建文件,日志显示:

...EmbeddedDatabaseFactory: Starting embedded database: url='jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false', username='sa'

我不太清楚为什么它说启动嵌入式数据库,因为正如您在网址中看到的,它实际上启动了一个名为testdb的内存数据库。那么为什么它使用 jdbc:h2:mem:testdb 作为 JDBC url 而不是我配置的 jdbc:h2:./customdb

最佳答案

检查你的 gradle 依赖关系!

而不是
编译'org.springframework.data:spring-data-jpa',
使用 spring-boot-starter-data-jpa,所以类似
编译“org.springframework.boot:spring-boot-starter-data-jpa:2.1.4.RELEASE”
还要确保 gradle 确实应用了此更改。

问题是 spring-data-jpa 不包含所需的所有功能。 spring-boot-starter-data-jpa 依赖于 spring-data-jpa,但也依赖于其他一些工件。

enter image description here

关于java - Spring H2数据库EmbeddedDatabaseFactory连接URL错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55677084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com