我目前正在尝试从jpa实体生成jooq类,而不是使用现有的db。
关注此page并使用jooq版本3.9.1,我当前的pom插件部分看起来像
<profile>
<id>jooq-jpa</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen-maven</artifactId>
<version>${jooq.version}</version>
<dependencies>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-meta-extensions</artifactId>
<version>${jooq.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<logging>INFO</logging>
<generator>
<database>
<name>org.jooq.util.jpa.JPADatabase</name>
<includes>.*</includes>
<excludes></excludes>
<properties>
<property>
<key>packages</key>
<value>my.entity</value>
</property>
</properties>
</database>
<target>
<packageName>com.myentity.jooq</packageName>
<directory>${project.build.directory}/generated-sources/jooq</directory>
</target>
</generator>
</configuration>
</plugin>
</plugins>
</build>
</profile>
这在运行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
答案 0 :(得分:2)
您的实体可能与放置插件的模块位于同一模块中。这意味着在编译模块之前调用jOOQ代码生成器,这意味着当jOOQ代码生成器试图找到它们时,尚未编译JPA注释的实体。
解决方案是创建以下模块依赖关系图:
+-------------------+
| Your JPA entities |
+-------------------+
^ ^
depends on | | depends on
| |
+---------------------+ +---------------------+
| jOOQ codegen plugin | | Your application |
+---------------------+ +---------------------+
| |
generates | | depends on
v v
+-------------------------+
| jOOQ generated classes |
+-------------------------+
我已经注册了一个问题来改进文档,以澄清这一点:https://github.com/jOOQ/jOOQ/issues/6011