2

別のアセンブリ プロジェクトを含む、マルチモジュールの Maven プロジェクトがあります。(開発中に) Eclipse からアプリケーションを開発して実行すると、メイン モジュール (メイン クラスを含む) に特定の構成ファイル (log4j やその他のプロパティ ファイルなど) があります。これらのファイルには、開発時固有の情報が含まれています。assembly-project には、生産用の各構成ファイルが含まれています。アセンブルされた製品は、代わりにこれらの構成を使用する必要があります。これは私の現在の設定です:

MainModule/src/main/resources
     +configA.properties
     +log4j.properties
Module1/src/main/resources
     +configB.properties
AssemblyProj/src/main/resources
     +configA.properties
     +configB.properties
     +log4j.properties

生成されたプロジェクトの構造は次のとおりです。

libs/
   +MainModule.jar
   +Module1.jar
configs/
   +configA.properties
   +configB.properties
   +log4j.properties

config-directory は、クラスパスのために各 *.jar の config-files をオーバーレイします。つまり、

java -cp configs/;libs/* My.Main.Class

今私が抱えている問題は、各jarにまだすべてのdev-configが含まれていることです。また、そのoverlay-classpath-methodの使用については、ちょっと嫌な予感がします。これをより良い方法で行う方法についての練習はありますか?

4

1 に答える 1

2

classifierこれらのリソースを、前述の各モジュールの に基づく依存関係に抽出します。<profiles/>次に、それらの使用のトリガーを定義します。アセンブリでは、必要に応じて分類子を使用します。

于 2013-03-06T16:22:19.363 に答える