gpt4 book ai didi

gradle - 使用mysql-connector时buildscript中的ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-03 03:40:16 27 4
gpt4 key购买 nike

当我从此jooq plugin运行ClassNotFoundException任务时,我收到消息java.lang.ClassNotFoundException: com.mysql.jdbc.DrivergenerateTestDatabaseJooqSchema。我不知道为什么会这样,因为我在第7行的buildscript依赖项中包括了mysql:mysql-connector-java:6.0.5

buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'mysql:mysql-connector-java:6.0.5'
classpath 'nu.studer:gradle-jooq-plugin:2.0.0'
}
}

plugins {
id 'nu.studer.jooq' version '2.0.0'
id 'org.flywaydb.flyway' version '4.0.3'
}

apply plugin: 'java'
apply plugin: 'idea'

// database connection information
def database_name = 'cloudpass-api'
def database_url = 'jdbc:mysql://localhost:3306/cloudpass-api'
def database_user = 'root'
def database_pass = 'password'

jooq {
testDatabase(sourceSets.main) {
jdbc {
driver = 'com.mysql.jdbc.Driver'
url = database_url
user = database_user
password = database_pass
schema = database_name
}
generator {
name = 'org.jooq.util.JavaGenerator'
database {
name = 'org.jooq.util.mysql.MySQLDatabase'
inputSchema = database_name
}
generate {
relations = true
deprecated = false
records = true
immutablePojos = true
fluentSetters = true
}
target {
packageName = 'cloudpass.database'
}
}
}
}

flyway {
url = database_url
user = database_user
password = database_pass
}

repositories {
jcenter()
mavenCentral()
}

dependencies {
compile 'org.slf4j:slf4j-api:1.7.21'
compile 'mysql:mysql-connector-java:6.0.5'
compile 'org.jooq:jooq'
compile 'com.maxmind.geoip2:geoip2:2.8.0'
testCompile 'junit:junit:4.12'
}

这是运行任务时获得的完整输出:
C:\Users\Thomas\Projects\cloudpass-api-java>gradle generateTestDatabaseJooqSchemaSource
Starting a Gradle Daemon (subsequent builds will be faster)
:generateTestDatabaseJooqSchemaSource
nov. 06, 2016 7:54:15 AM org.jooq.tools.JooqLogger info
INFO: Initialising properties : C:\Users\Thomas\Projects\cloudpass-api-java\build\tmp\jooq\config.xml
nov. 06, 2016 7:54:16 AM org.jooq.tools.JooqLogger error
SEVERE: Cannot read C:\Users\Thomas\Projects\cloudpass-api-java\build\tmp\jooq\config.xml. Error : com.mysql.jdbc.Driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.jooq.util.GenerationTool.loadClass(GenerationTool.java:591)
at org.jooq.util.GenerationTool.run(GenerationTool.java:248)
at org.jooq.util.GenerationTool.generate(GenerationTool.java:198)
at org.jooq.util.GenerationTool.main(GenerationTool.java:170)

:generateTestDatabaseJooqSchemaSource FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':generateTestDatabaseJooqSchemaSource'.
> Process 'command 'C:\Program Files\Java\jdk1.8.0_101\bin\java.exe'' finished with non-zero exit value -1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 7.831 secs

我对gradle仍然不太满意,所以这可能是一个菜鸟问题,因此,我感谢您能提供的任何帮助。

最佳答案

根据文档的要求,这不起作用,您需要将适当的数据库驱动器类放入特殊的jooqRuntime配置中:

Depending on which database you are connecting to, you need to put the corresponding driver on the generator's classpath.

dependencies { jooqRuntime 'postgresql:postgresql:9.1-901.jdbc4' }

关于gradle - 使用mysql-connector时buildscript中的ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40446825/

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