[英]JOOQ with Gradle and Kotlin do not generate files
我在下面的任務的gradle build.gradle.kts
。 它應該從我的JPA實體生成文件。 但是,運行此任務時,如果成功,則不會生成任何文件或目錄。
task(name = "generateJooq") {
doLast {
val configuration = Configuration().apply {
generator = Generator().apply {
database = Database().apply {
name = "org.jooq.util.jpa.JPADatabase"
properties = listOf(Property().apply {
key = "packages"
value = "com.example.sample"
})
}
target = Target().apply {
packageName = "com.example.jooq"
directory = "src/generated/java"
}
}
}
GenerationTool.generate(configuration)
}
}
這是我的實體生活在com.example.sample
包下。 請注意,我用Java編寫了這個實體。
@Entity
public class Book {
@Id
private String id;
@Column
private String title;
}
有以下日志
./gradlew clean generateJooq
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
我猜你的Book
類在src/main/java
是否正確?
現在你希望JOOQ
可以使用該課程嗎? 在編譯src/main/java
之前定義了Gradle buildscript類加載器(加載gradle任務)的雞或蛋問題。
您需要將自定義類加載器傳遞給JOOQ
(例如URLClassloader)。 然后JOOQ
可以使用類加載器來加載類(希望JOOQ
API支持這個)。 您可以使用sourceSets.main.runtimeClasspath
創建URL
數組。
我看到GenerationTool
在這里有一個setClassLoader(..)
方法。 我猜你會打電話給我
請參閱此處獲取類似的解決方案(使用Reflections
而不是JOOQ
但基本相同)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.