[英]jOOQ Gradle plugin does not update generated files
For some reason I have to manually delete generated folder and run gradle task to get updated POJOs. 出于某种原因,我必须手动删除生成的文件夹并运行gradle任务以获取更新的POJO。 Is this my setup, expected behavior or a bug? 这是我的设置,预期行为还是错误? My setup is as follows: 我的设置如下:
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'
}
}
}
}
Currently when you generated the files they're added under src/main/java
folder. 目前,当您生成文件时,它们将添加到src/main/java
文件夹下。 This is not a good idea since you have mixed source and generated files. 这不是一个好主意,因为您有混合的源文件和生成的文件。 It's much better to add a separate folder src/main/generated
and modify the build.gradle
in the following way: 最好添加一个单独的文件夹src/main/generated
并以下列方式修改build.gradle
:
def generatedDir = 'src/main/generated'
sourceSets {
main {
java {
srcDirs += [generatedDir]
}
}
}
clean.doLast {
project.file(generatedDir).deleteDir()
}
and change: 并改变:
target {
packageName = 'com.example.library.db'
directory = generatedDir
}
This way you can easily manage the generated classes. 这样您就可以轻松管理生成的类。 All the classes will be removed automatically when clean
task is run. 运行clean
任务时,将自动删除所有类。
You also need to define a dependency between compileJava
and the generator task. 您还需要在compileJava
和生成器任务之间定义依赖关系。 It can be done in the following way: 它可以通过以下方式完成:
compileJava.dependsOn YOUR_GENERATOR_TASK_NAME
jOOQ will not delete the files automatically. jOOQ不会自动删除文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.