MavenによってコンパイルされるJavaソースを生成する必要があります。問題は、これらのソースを生成するレガシーコードがJavaで記述されていることです。使用された解決策(回避策)は次のとおりでした:
- Javaソースを生成するコードを含むプロジェクトA
- プロジェクトAに依存し、Mavenでantrunを呼び出してプロジェクトAのクラスを実行するプロジェクトB
プロジェクトBをビルドすると、Mavenは次のようになります。
- プロジェクトA(ソースを生成するコード)をコンパイルし、プロジェクトAのpom.xmlが指示するその他のことをすべて実行します。
- これらのクラスをantrunします(プロジェクトBのpom.xmlによって要求されます)-したがって、ソースが生成され、プロジェクトBに追加されます
- プロジェクトBのソースをコンパイルする
これは、Antrunでは、プロジェクトAのクラスが実行時にすでにコンパイルされている必要があるためです。ただし、これは醜い解決策であり、プロジェクトAとBは実際には1つのプロジェクトにすぎないはずです。私は使用する必要があることを知っています:
<phase>generate-sources</phase>
Groovy(http://blog.retep.org/2009/11/07/using-groovy-to-generate-java-sources-in-maven/)の例を見ましたが、あるかどうか知りたいです。すべてを1つのプロジェクトにまとめ、コード生成をJavaからGroovyなどに変更する必要がなく、これを行うためのより簡単な方法。
ありがとう。