下面是http://www.jooq.org/doc/2.4/manual/META/Configuration/#N10607关于如何运行jooq代码生成,我遇到了构建失败的问题,消息是:
codegen.xml:7: taskdef class org.jooq.util.GenerationTask cannot be found
作为参考,这里是codegen.xml
<project name="..." default="generate-test-classes"
basedir=".">
<property name="path.to.jooq.distribution" value="${basedir}/libs"/>
<property name="path.to.mysql.driver" value="${basedir}/libs"/>
<property name="mysql.driver" value="mysqlcon"/>
<!-- Task definition -->
<taskdef name="generate-classes" classname="org.jooq.util.GenerationTask">
<classpath>
<fileset dir="${path.to.jooq.distribution}">
<include name="jooq.jar" />
<include name="jooqmeta.jar" />
<include name="jooqcodegen.jar" />
</fileset>
<fileset dir="${path.to.mysql.driver}">
<include name="${mysql.driver}.jar" />
</fileset>
</classpath>
</taskdef>
<!-- Run the code generation task -->
<target name="generate-test-classes">
<generate-classes jdbcurl="jdbc:mysql://localhost:3306/crawler"
jdbcuser="..." jdbcpassword="..." generatordatabaseinputschema="..."
generatortargetpackage="model.persistence.jooq"
generatortargetdirectory="${basedir}/src" />
</target>
</project>
我仔细检查了类路径的定义,列出的每个文件都存在于给定的位置下。那么问题出在哪里呢?我是不是错过了什么?我需要在某个地方配置ant来识别任务吗?
由于我已经检查了ant:failed to create task or type,所以我尝试将taskdef移动到目标中,但没有成功。
ant任务是jOOQ 2.x中的一个示例实现。它在很长一段时间前就被弃用,并从jOOQ 3.0:中删除
- http://www.jooq.org/notes.php?version=3.0
- https://github.com/jOOQ/jOOQ/issues/1118
- http://www.jooq.org/doc/3.1/manual/code-generation/codegen-configuration/#N12E23
你链接的手册版本已经过时了。