【发布时间】:2017-08-15 12:59:58
【问题描述】:
我目前正在尝试从 jpa 实体生成 jooq 类,而不是使用现有的数据库。
按照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 类。构建的 Stack Trace 显示:
[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
【问题讨论】:
-
您的 JPA 注释实体在 jOOQ 代码生成器插件的类路径上吗? IE。它们是在生成 jOOQ 代码之前编译的吗?
-
没有。它们是插件设置所在的同一模块的一部分。是否应该在运行生成器之前编译?
-
在运行插件之前使用编译实体对其进行了测试,并且确实有效。非常感谢@LukasEder。您能否将其发布为答案,以便我将其标记为已接受并帮助可能遇到相同问题的其他人?