Я пытаюсь настроить проект, используя h2, jooq и flyway. Однако, как только плагин nu.studer.jooq
генерирует config.xml
, он не может найти org.h2.driver
У меня есть зависимость в моем build.gradle
, которая показана ниже вместе с ошибкой, которую я продолжаю получать.
plugins {
id 'java'
id 'application'
id 'org.springframework.boot' version '2.2.4.RELEASE'
id 'nu.studer.jooq' version '4.0'
id 'org.flywaydb.flyway' version '6.2.3'
}
ext['jooq.version'] = '3.12.3'
sourceCompatibility = 11.0
repositories {
mavenCentral()
jcenter()
}
dependencies {
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.2.4.RELEASE'
implementation group: 'org.jooq', name: 'jooq', version: '3.12.3'
implementation group: 'com.h2database', name: 'h2', version: '1.4.199'
}
application {
mainClassName = 'exampleapp.App'
}
jooq {
version = '3.12.3'
edition = 'OSS'
sample(sourceSets.main) {
jdbc {
driver = 'org.h2.Driver'
url = 'jdbc:h2:~/test'
user = 'sa'
password = ''
schema = 'public'
}
generator {
name = 'org.jooq.util.DefaultGenerator'
strategy {
name = 'org.jooq.util.DefaultGeneratorStrategy'
}
database {
name = 'org.jooq.meta.h2.H2Database'
}
generate {
relations = true
deprecated = false
records = true
immutablePojos = true
fluentSetters = true
}
target {
packageName = 'generated.jooq'
directory = '$projectDir/src/generated/jooq'
}
}
}
}
flyway {
url = 'jdbc:h2:~/test'
user = 'sa'
password = ''
schemas = ['public']
}
generateSampleJooqSchemaSource.dependsOn flywayMigrate
Ошибка, которую я получаю при запуске gradle clean build
, выглядит следующим образом:
java.lang.ClassNotFoundException: org.h2.Driver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at org.jooq.codegen.GenerationTool.loadClass0(GenerationTool.java:925)
at org.jooq.codegen.GenerationTool.loadClass(GenerationTool.java:869)
at org.jooq.codegen.GenerationTool.run0(GenerationTool.java:334)
at org.jooq.codegen.GenerationTool.run(GenerationTool.java:221)
at org.jooq.codegen.GenerationTool.generate(GenerationTool.java:216)
at org.jooq.codegen.GenerationTool.main(GenerationTool.java:188)
Не уверен, почему он не может найти h2 в пути к классам, какие-либо идеи?