0

プロジェクトのクラスパスにいくつかのXMLファイルを作成するMavenプラグインを作成しました。Mavenプロジェクトはかなり複雑で、1つのマスタープロジェクトと多くのサブプロジェクトがあります(より大きなアプリケーション向けのサービスを考えてください)。

プラグインはpom.xmlのディレクトリ引数を取ります。これは、次のようなクラスパスに関連するものです。

<docDestination>src/main/webapp/static/</docDestination>

ただし、を介してこのフォルダにアクセスしようとすると、結果のディレクトリは、プラグインをトリガーしnew File(docDestination)たコマンドを実行したプロジェクト(またはサブプロジェクト)によって異なります。mvn install

pom.xmlプラグインはサブプロジェクトの1つでのみ指定されますが、親からmvn-installを実行するsrc/main/...と、親アプリケーションのフォルダーにXMLファイルが作成されます。親プロジェクトのファイルシステムではなく、プラグインが宣言されているプロジェクトのファイルシステムを使用するようにプラグインを取得するにはどうすればよいですか?

mvn installターミナルでサブプロジェクトに移動してそのディレクトリで実行すると、ファイルが適切な場所に作成され、投稿のタイトルが説明されることに注意してください。

4

1 に答える 1

1

${basedir}変数を使用します。

<docDestination>${basedir}/src/main/webapp/static</docDestination>

これは、それぞれのモジュールで現在使用されているbasedirを使用する必要があります(これがトップレベルであるかサブモジュールであるかに関係なく)。

于 2012-07-11T15:09:36.323 に答える