我正在尝试使用Spring-Boot 2,Java 11,H2数据库和Gradle构建一个简单的REST-Backend。我想使用嵌入式(文件)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'
我不太清楚为什么会说Starting embedded database
,因为正如您在url中看到的那样,它实际上启动了一个名为testdb
的内存数据库。
那么,为什么要使用jdbc:h2:mem:testdb
作为JDBC URL而不使用我配置的jdbc:h2:./customdb
?
答案 0 :(得分:0)