お世話になります。
jOOQを利用して、MySQLスキーマからJavaソースを作成したく思います。
こちらのページの内容を実施したいのですが、
現在、エラーが発生しており、類似する記事などを調べましたが解決に至っていないため質問させてください。
com.mysql.jdbc.Driverが読み込めてないのかなとは思うのですが、現時点で解決に至っていません。
前提・実現したいこと
下記のコマンドを打ち込んでJavaソースを生成したい。
gradle generateSampleJooqSchemaSource
環境
- 端末:Mac
- エディタ:IntelliJ IDEA CE
- jOOQ
- Gradle
- Spring Boot
build.gradle
build.gradle
1plugins { 2 id 'org.springframework.boot' version '2.3.2.RELEASE' 3 id 'io.spring.dependency-management' version '1.0.9.RELEASE' 4 id 'java' 5 id 'nu.studer.jooq' version '4.2' //jOOQを統合するプラグイン 6} 7apply plugin: 'java' 8group = 'com.example' 9version = '0.0.1-SNAPSHOT' 10sourceCompatibility = '14' 11 12// 全ての依存関係を見つけるためにMavenのセントラルリポジトリを指定 13repositories { 14 mavenCentral() 15} 16 17dependencies { 18 // SpringBootによって管理される依存関係ライブラリ 実装 19 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 20 implementation 'org.springframework.boot:spring-boot-starter-jooq' 21 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 22 implementation 'org.springframework.boot:spring-boot-starter-web' 23 implementation 'org.jooq:jooq' // JOOQ導入 24 compile ('mysql:mysql-connector-java')// MySQL Driver 25 testImplementation('org.springframework.boot:spring-boot-starter-test') { 26 exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' 27 } 28 runtime("mysql:mysql-connector-java:5.1.34") 29 compile("mysql:mysql-connector-java") 30} 31 32 33// JOOQプラグインの設定 34 35jooq { 36 37 version = '3.13.1' // JOOQのバージョン指定 38 edition = 'OSS' // エディションの指定(無料版) 39 generateSchemaSourceOnCompilation = true // コンパイル時にスキーマソースを生成する 40 bbs_test(sourceSets.main) { 41 42 jdbc { 43 driver = 'com.mysql.jdbc.Driver' // データベースドライバのクラス名 44 url = 'jdbc:mysql://${MYSQL_HOST:localhost}:3306/bbs_test?serverTimezone=JST' // SQLに接続するためのURL 45 user = 'keiziban' // データベースにログインするためのユーザー名 46 password = 'secret' // データベースにログインするためのパスワード 47 properties { 48 property { 49 key = 'ssl' 50 value = 'true' 51 } 52 } 53 } 54 generator { 55 name = 'org.jooq.codegen.DefaultGenerator' 56 strategy { 57 name = 'org.jooq.codegen.DefaultGeneratorStrategy' 58 // ... 59 } 60 database { 61 name = 'org.jooq.meta.mysql.MySQLDatabase' // 対象とするデータベース 62 inputSchema = 'public' 63 forcedTypes { 64 forcedType { 65 name = 'varchar' 66 expression = '.*' 67 types = 'JSONB?' 68 } 69 forcedType { 70 name = 'varchar' 71 expression = '.*' 72 types = 'INET' 73 } 74 } 75 // ... 76 } 77 generate { 78 relations = true 79 deprecated = false 80 records = true 81 immutablePojos = true 82 fluentSetters = true 83 // ... 84 } 85 target { 86 packageName = 'nu.studer.sample' // 生成されるコードのパッケージ名 87 directory = 'src/main/java' // 生成されるコードを配置するディレクトリ 88 } 89 } 90 } 91} 92 93test { 94 useJUnitPlatform() 95}
下記のコマンドを実行
gradle generateSampleJooqSchemaSource
表示されるエラー
> Task :generateBbs_testJooqSchemaSource FAILED 7月 28, 2020 11:27:01 午後 org.jooq.tools.JooqLogger info 情報: Initialising properties : /Users/*****/Documents/spring-boot-practice/bbs/bbs-test/build/tmp/generateBbs_testJooqSchemaSource/config.xml 7月 28, 2020 11:27:01 午後 org.jooq.tools.JooqLogger error 重大: Cannot read /Users/*******/Documents/spring-boot-practice/bbs/bbs-test/build/tmp/generateBbs_testJooqSchemaSource/config.xml. Error : com.mysql.jdbc.Driver java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at org.jooq.codegen.GenerationTool.loadClass0(GenerationTool.java:977) at org.jooq.codegen.GenerationTool.loadClass(GenerationTool.java:921) at org.jooq.codegen.GenerationTool.run0(GenerationTool.java:346) at org.jooq.codegen.GenerationTool.run(GenerationTool.java:222) at org.jooq.codegen.GenerationTool.generate(GenerationTool.java:217) at org.jooq.codegen.GenerationTool.main(GenerationTool.java:189) FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':generateBbs_testJooqSchemaSource'. > Process 'command '/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home/bin/java'' finished with non-zero exit value 255 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.4.1/userguide/command_line_interface.html#sec:command_line_warnings BUILD FAILED in 2s 1 actionable task: 1 executed
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/30 14:43