无法使用JPADatabase从H2生成Jooq类

我目前正在尝试从jpa实体生成jooq类,而不是使用现有的db。

在这个页面之后并使用jooq版本3.9.1,我当前的pom的插件部分看起来像

 jooq-jpa    org.apache.maven.plugins maven-compiler-plugin  1.8 1.8    org.jooq jooq-codegen-maven ${jooq.version}   org.jooq jooq-meta-extensions ${jooq.version}      generate     INFO   org.jooq.util.jpa.JPADatabase .*    packages my.entity     com.myentity.jooq ${project.build.directory}/generated-sources/jooq        

这在运行maven包时会产生成功,但是不会生成预期的jooq类。 堆栈跟踪构建显示:

 [INFO] ARRAYs fetched : 0 (0 included, 0 excluded) [INFO] Enums fetched : 0 (0 included, 0 excluded) [INFO] Packages fetched : 0 (0 included, 0 excluded) [INFO] Routines fetched : 0 (0 included, 0 excluded) [INFO] Tables fetched : 0 (0 included, 0 excluded) [INFO] UDTs fetched : 0 (0 included, 0 excluded) [INFO] Excluding empty catalog : [INFO] Removing excess files 

您的实体可能与放置插件的模块位于同一模块中。 这意味着在编译模块之前调用jOOQ代码生成器,这意味着当jOOQ代码生成器试图找到它们时,尚未编译JPA注释的实体。

解决方案是创建以下模块依赖关系图:

  +-------------------+ | Your JPA entities | +-------------------+ ^ ^ depends on | | depends on | | +---------------------+ +---------------------+ | jOOQ codegen plugin | | Your application | +---------------------+ +---------------------+ | | generates | | depends on vv +-------------------------+ | jOOQ generated classes | +-------------------------+ 

我已经注册了一个问题来改进文档以澄清这一点: https : //github.com/jOOQ/jOOQ/issues/6011