我有一個項目MyProject,它在另一個項目BaseProject中具有對配置的依賴關係。在BaseProject內部我對許多不同的項目(如ErrorLogging,PerformanceLogging等)都有依賴關係......我希望能夠構建頂級項目(MyProject),並讓它過濾所有作爲依賴關係的項目中的所有spring xml文件。我沒有任何運氣。我可以看到這些豆,但他們沒有被過濾。一些bean正在使用在它們自己的poms中定義的默認過濾器進行過濾,但不使用MyProject中的過濾器。從依賴項目過濾Spring XML文件
MyProject - 這包含過濾器文件並從其他項目導入配置。
BaseProject - 定義了需要過濾的spring bean。
ErrorLogging - 定義了需要過濾的spring bean。
當我從MyProject運行一個包時,所有的spring文件都被正確地提取到jar文件中,但它們仍然包含屬性佔位符值$ {error.logging.host},例如... MyProject中的bean被正確過濾。另一種方法是在MyProject中定義bean,但其中大約有10個使用BaseProject的項目以及它的bean,我不想在10個獨立的項目中重新定義它們。
如果有人能夠解決這個問題,它會很棒。由於
編輯:
爲了使這更清楚,我有項目ErrorLogging稱爲錯誤-config.xml中定義連接到數據庫豆內部彈簧豆XML定義。這只是佔位符的連接細節,應該由MyProject中的filter.properties文件提供。
errors-config.xml作爲資源被導入baseproject-config.xml中,該base.xml位於BaseProject內。基本項目和它的配置文件被導入MyProject。
然後我使用Maven構建MyProject,我想將errors-config.xml中的屬性佔位符替換爲MyProject中filter.properties中的值。 MyProject可以成功地過濾它自己的文件,但不是那些ErrorsLogging項目。 ErrorsLogging似乎從它自己的src/main/resources文件夾中取出過濾器,而不是MyProject的過濾器。
請您提供更多詳情。這是在BaseProject或ErrorLogging項目中定義的bean的示例,以及您如何嘗試在MyProject上下文中排除它們的示例。 –
由於更簡單,我將編輯該文章 – DeliveryNinja
看起來像'PropertiesPlaceHolderConfigurer'的工作,請參閱http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/xsd-config。 html#xsd-config-body-schemas-context-pphc – 2012-10-08 17:52:53