別のプロジェクト BaseProject の構成に依存するプロジェクト MyProject があります。BaseProject 内には、ErrorLogging、PerformanceLogging などのさまざまなプロジェクトへの依存関係があります。最上位のプロジェクト (MyProject) をビルドし、依存関係があるプロジェクト内のすべての spring xml ファイルをフィルター処理できるようにしたいと考えています。運が悪い。豆は見えますが、ろ過されていません。一部の Bean は、独自の pom で定義されたデフォルトのフィルターでフィルター処理されていますが、MyProject のフィルターを使用していません。
MyProject - これにはフィルター ファイルが含まれ、他のプロジェクトから構成をインポートします。
BaseProject - フィルタリングが必要な Spring Bean が定義されています。
ErrorLogging - フィルタリングが必要な Spring Bean が定義されています。
MyProject からパッケージを実行すると、すべての spring ファイルが jar ファイルに正しく抽出されますが、プロパティ プレースホルダー値 ${error.logging.host} が含まれています。たとえば、MyProject の Bean は正しくフィルター処理されます。これに代わる方法は、MyProject で Bean を定義することですが、BaseProject とその Bean を使用するこれらのプロジェクトが約 10 あり、10 の個別のプロジェクトでそれらを再定義する必要はありません。
誰かがこの問題に光を当てることができれば、それは素晴らしいことです. ありがとう
編集 :
これをより明確にするために、データベースに接続するための Bean を定義する errors-config.xml と呼ばれるプロジェクト ErrorLogging 内に Spring Bean xml 定義があります。これには、MyProject 内にある filter.properties ファイルによって提供される必要がある接続の詳細のプレースホルダーがあります。
errors-config.xml は、BaseProject 内にある baseproject-config.xml にリソースとしてインポートされます。ベース プロジェクトとその構成ファイルが MyProject にインポートされます。
次に、Maven を使用して MyProject をビルドし、errors-config.xml 内のプロパティ プレースホルダーを MyProject の filter.properties の値に置き換えたいと考えています。MyProject はそれ自身のファイルを正常にフィルタリングできますが、ErrorsLogging プロジェクトのファイルはフィルタリングできません。ErrorsLogging は、MyProject のフォルダーではなく、独自の src/main/resources フォルダーからフィルターを取得しているようです。