アプリケーションのJavaクラスを生成するJavaプログラムがあります。基本的に、クラスの単純な仕様を取り込んで、特殊な形式のJavaBeanを生成します。これをMavenpom.xmlに統合して、入力ファイルが変更された場合に、Mavenのコンパイルフェーズの前にMavenが新しい.javaファイルを自動的に生成するようにします。
私はこれをmakeで簡単に行う方法を知っていますが、この機能を備えたMavenドキュメントには何も見つかりませんでした。
アプリケーションのJavaクラスを生成するJavaプログラムがあります。基本的に、クラスの単純な仕様を取り込んで、特殊な形式のJavaBeanを生成します。これをMavenpom.xmlに統合して、入力ファイルが変更された場合に、Mavenのコンパイルフェーズの前にMavenが新しい.javaファイルを自動的に生成するようにします。
私はこれをmakeで簡単に行う方法を知っていますが、この機能を備えたMavenドキュメントには何も見つかりませんでした。
コード生成プロセスの詳細はあまり提供していませんが、exec-maven-pluginを使用してコードジェネレーターを呼び出すことができます(例のセクションを参照)。規則は、でソースを生成することです${project.build.directory}/generated-sources/<tool>
。次に、 build-helper-pluginとそのadd-sources
mojoを使用して生成されたソースを追加します。generate-sources
フェーズ上のすべてのものをバインドします。
以下にビルドヘルパーのものを示します。
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-mytool-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources/mytool</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
ジェネレーターをラップする簡単なプラグインを作成することもできます。その場合は、ソースを生成するためのガイドをご覧ください。
PS:私は何かを逃したかもしれません、私の答えとあなたの質問のタイトルの間にある種のミスマッチがあります。
Mavenには、このためのフェーズ「generate-sources」があります