Как использовать пользовательскую стратегию с генератором кода 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 цель?

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>