【发布时间】:2015-12-13 23:00:29
【问题描述】:
我正在使用 JOOQ 代码生成工具为我的模式 (MYSQL) 生成源代码。我想在每次编译我的项目时生成源代码。但我无法做到这一点,因为当我运行代码生成 gradle 任务时,编译器开始抱怨删除源代码的引用。
这是我所做的:-
- 创建了一个空 Spring 引导项目。
- 使用 config xml(jooq.xml 下面) 生成源代码,如this
- 使用 Gradle 任务触发代码生成。
Build.gradle
task generateJooqDatabaseSource(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'org.jooq.util.GenerationTool'
args = ['/jooq.xml']
standardOutput = System.out
errorOutput = System.err
}
- 使用生成的源代码并使用 JOOQ 编写 SQL。
到这里为止一切都很好。但现在我不想将生成的 Java 类推送到我的项目中。我希望每次编译我的项目时都创建它。
-
所以让我们删除生成的源代码并重新生成它(比如我的测试环境)
-
但只要我运行 Gradle 任务
generateJooqDatabaseSource
它开始抱怨生成的代码引用。
错误:包 autogenred.jooq.code.db.tables 不存在
导入 autogenred.jooq.code.db.tables.Author;
尝试谷歌搜索问题并找到使用插件的建议,如flyway,建议here
但如果没有它也能轻松实现,我真的不想再添加一个插件。
PS:- 刚开始使用 Gradle,JOOQ 几天,如果答案很明显,请道歉。
【问题讨论】:
标签: java spring-boot build.gradle jooq