13

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目標を実行する前に単一のクラスをコンパイルできますか?

4

1 に答える 1

7

より良い解決策は、プロジェクトを2つのモジュールに分割することです。1つには戦略が含まれ、もう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>
于 2012-06-08T09:29:16.573 に答える