JNDIを使用して、さまざまな構成ファイルとロギングが行われる「ホーム」ディレクトリを判別するJavaWebアプリケーションがあります。Mavenのビルド中に、settings.xmlにあるプロパティにホームディレクトリの場所を設定します。このプロパティは、Mavenリソースフィルタリングによるビルド中にJetty /TomcatJNDIファイルに入れられます。すべてがうまく機能します。
ただし、この設定では、マシン上で一度に1つのMavenビルドのみを実行できる必要があります。これは、HudsonCIサーバーにとってすぐに問題になります。また、ユーザーはビルドの前にこのディレクトリを作成する必要があります。これは、ビルドの移植性を損なうのに役立ちます。理想的には、親POMで変数を定義することにより、親POMプロジェクトの「ターゲット」ディレクトリを「ホーム」ディレクトリとして使用できます。
<webapp-home>${project.basedir}/target<webapp-home>
ただし、各Mavenモジュールが別のものに再定義されるため、これは機能しませんwebapp-home
。理由はわかりません。その問題を解決できれば、私はすべて準備ができているでしょう。
それ以外の場合、ビルドに固有で、ビルド内のすべてのMavenモジュールで一定である、適切な一時的な「ホーム」または「作業」ディレクトリとして何を使用できますか?そして、ボーナスの質問は次のとおりです。ディレクトリが存在しない場合、Mavenにディレクトリを作成させることはできますか?