Подтвердить что ты не робот

Как использовать пользовательскую стратегию с генератором кода jOOQ и Maven?

С jOOQ я могу комбинировать, используя генератор кода jOOQ с Maven и пользовательская стратегия генератора. Похоже, что это можно сделать как таковое (оставляя ненужные части):

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

  <!-- The plugin should hook into the generate goal -->
  <executions>
    <execution>
      <goals>
        <goal>generate</goal>
      </goals>
    </execution>
  </executions>

  <configuration>
    <generator>
      <name>org.jooq.util.DefaultGenerator</name>
      <!-- But the custom strategy is not yet compiled -->
      <strategy>
        <name>com.example.MyStrategy</name>
      </strategy>
    </generator>
  </configuration>
</plugin>

В приведенной выше конфигурации изображена проблема. Генератор кода jOOQ перехватывает цель генерации жизненного цикла Maven, которая имеет место до цели компиляции жизненного цикла. Однако для генерации кода ему нужен предварительно скомпилированный пользовательский класс стратегии, или я получу ClassNotFoundException. Как это можно решить с Maven? Можно ли скомпилировать один класс перед выполнением цели generate?

4b9b3361

Ответ 1

Гораздо лучшее решение состоит в том, чтобы разделить проект на два модуля. Один содержит стратегию, а другой - остальные.

Используя модули, вы можете скомпилировать стратегию на независимом шаге, а затем использовать этот модуль в плагине:

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

  ...your config goes here...

  <dependencies>
    list your strategy module here
  </dependencies>
</plugin>