[英]jOOQ Gradle plugin does not update generated files
出於某種原因,我必須手動刪除生成的文件夾並運行gradle任務以獲取更新的POJO。 這是我的設置,預期行為還是錯誤? 我的設置如下:
jooq {
library(sourceSets.main) {
jdbc {
driver = 'com.mysql.jdbc.Driver'
url = 'jdbc:mysql://localhost:3306/library'
user = 'library'
password = '123'
schema = 'library'
}
generator {
name = 'org.jooq.util.DefaultGenerator'
strategy {
name = 'org.jooq.util.DefaultGeneratorStrategy'
}
database {
name = 'org.jooq.util.mysql.MySQLDatabase'
inputSchema = 'library'
}
generate {
daos = true
}
target {
packageName = 'com.example.library.db'
directory = 'src/main/java'
}
}
}
}
目前,當您生成文件時,它們將添加到src/main/java
文件夾下。 這不是一個好主意,因為您有混合的源文件和生成的文件。 最好添加一個單獨的文件夾src/main/generated
並以下列方式修改build.gradle
:
def generatedDir = 'src/main/generated'
sourceSets {
main {
java {
srcDirs += [generatedDir]
}
}
}
clean.doLast {
project.file(generatedDir).deleteDir()
}
並改變:
target {
packageName = 'com.example.library.db'
directory = generatedDir
}
這樣您就可以輕松管理生成的類。 運行clean
任務時,將自動刪除所有類。
您還需要在compileJava
和生成器任務之間定義依賴關系。 它可以通過以下方式完成:
compileJava.dependsOn YOUR_GENERATOR_TASK_NAME
jOOQ不會自動刪除文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.