別のアセンブリ プロジェクトを含む、マルチモジュールの 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の使用については、ちょっと嫌な予感がします。これをより良い方法で行う方法についての練習はありますか?