Я пытаюсь создать простой REST-Backend с Spring-Boot 2, Java 11, базой данных H2 и Gradle. Я хочу использовать встроенную (файловую) базу данных 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
в качестве URL JDBC, а не мой настроенный jdbc:h2:./customdb
?