如何配置 pom.xml 以将 jooq 类生成到两个不同的包中?

Posted

技术标签:

【中文标题】如何配置 pom.xml 以将 jooq 类生成到两个不同的包中?【英文标题】:How to configure pom.xml for generate jooq classes into two different packages? 【发布时间】:2021-11-29 21:33:09 【问题描述】:

我的项目由两个包组成,每个包都使用相同的数据库架构。未来,这两个包都将成为独立的微服务。

问题:如何在 pom.xml 中配置代码生成,以便在两个不同的包(myProject/packageTwo/ DaomyProject/packageOne/Dao)中创建带有 jooq 类的文件夹。

例如,此决定导致仅在第二个文件夹中创建 jooq 类。

<plugin>
 <groupId>org.jooq</groupId>
  <artifactId>jooq-codegen-maven</artifactId>
  <version>3.15.3</version>
…
   <target>
        <packageName>myProject/packageOne/Dao</packageName>
        <directory>target/generated-sources/jooq</directory>
  </target>
  <target>
        <packageName> myProject/packageTwo/Dao</packageName>
        <directory>target/generated-sources/jooq</directory>
  </target>

【问题讨论】:

【参考方案1】:

这更像是一个 Maven 问题而不是一个 jOOQ 问题:您应该配置两个单独的执行,以便拥有两个单独的目标配置:

<plugin>
  <groupId>org.jooq</groupId>
  <artifactId>jooq-codegen-maven</artifactId>

  <!-- shared configuration, can also be moved to pluginManagement -->
  <configuration>...</configuration>

  <executions>
    <execution>
      <id>exec-1</id>
      <phase>...</phase>
      <goals><goal>generate</goal></goals>
      <configuration>
        <generator>
          <target>...</target>
        </generator>
      </configuration>
    </execution>

    <execution>
      <id>exec-2</id>
      <phase>...</phase>
      <goals><goal>generate</goal></goals>
      <configuration>
        <generator>
          <target>...</target>
        </generator>
      </configuration>
    </execution>
  </executions>
</plugin>

【讨论】:

以上是关于如何配置 pom.xml 以将 jooq 类生成到两个不同的包中?的主要内容,如果未能解决你的问题,请参考以下文章

新的 jooq/gradle 配置不生成任何 jooq 类

Jooq 生成视图类

是否有生成 POM.xml 文件的 Java 类?

jOOQ 不使用自定义数据绑定

jooQ spring boot Multiple Schema(读写拆分)

jOOQ 不生成将 <daos> 标志设置为 true 的 DAO