2012-01-09 6 views
1

私はMavenのアーキタイププロジェクトを構築しています。パラメータ(serviceDescriptor)として、パスをxmlファイルに渡しています。生成目標がうまく実行されると、serviceDescriptorファイルをsrc/main/resourcesに入れたいと思います。 Mavenのアーキタイプドキュメントに基づいて、それは不可能だと思われますが、それを行う方法があるはずです。生成目標(mvn archetype:generate)を実行するファイルをmavenプロジェクトに追加する方法は?

答えて

1

私はこれに数日を費やしました。私は合理的な解決策を見つけたと思います。

私がこの質問に言及したように、私は必要なプロパティとしてファイルパスをarchetype:generateに渡しています。 archetype generateが終了した後に実行される単純なプラグインを実装する必要がありました。このプラグインはファイルをsrc/main/resourcesにコピーし、ファイルからデータを読み込み、pom.xmlの一部のプロパティを更新します。 pom.xmlファイルを変更できるようにするには、maven-model-2.0 archetypeをmavenプラグインの依存関係として使用しています。 pom.xmlを安全に変更できるMaven MvenXpp3ReaderクラスとMavenXpp3Writerクラスを提供しています。原型の生成段階の終了時にプラグインを実行するためのプロジェクトを原型する伝えるために

mvn archetype:generate -goals=plugin_groupId:plugin_artifactId:goal 

欠点はプラグインがアクセス可能なリポジトリまたはローカルリポジトリに利用可能であるべきであるということです。

関連する問題