2017-04-05 53 views
-1

我有一個mvn項目打包爲applicationConfig.jar,其中包含不同其他項目(WAR的(Web應用程序,例如:application.war)和JAR的(例如:applicationBatch批處理)罐))。Spring初始化屬性使用從另一個項目引用的propertysourcesplaceholderconfigurer

我一直在使用註釋在我applicationConfig.jar初始化這些屬性用於propertysourcesplaceholderconfigurer

這applicationConfig.jar現在被添加爲依賴於pom.xml中對application.war & applicationBatch.jar

1) application.war中的java代碼能夠訪問在服務器啓動屬性上的applicationConfig.jar中執行的代碼初始化的屬性。這裏沒有問題。

2)從linux機器上的命令行運行的applicationBatch.jar無法訪問屬性。它看起來像屬性初始化代碼永遠不會執行,當applicationBatch.jar運行。

任何人都可以請求幫助我怎樣才能確保,當從命令行運行批處理jar(applicationBatch.jar)時,執行代碼坐在jar文件(applicationConfig.jar負責使用propertysourcesplaceholderconfigurer初始化屬性)。

代碼段下面:

applicationConfig.jar: [附件] [1]

[房產參考使用註釋和財產屬性文件] [2]

+0

請分享代碼片段,尤其是如何引用這些屬性。 –

+0

@NicolasLabrot:在我上面的問題本身中添加了applicationConfig.jar的代碼片段。這只是作爲依賴添加到 1)WAR pom.xml - >工作正常,能夠在啓動時執行applicationConfig.jar。 2)JAR pom.xml --->無法在我的applicationConfig.jar中執行 我可以使用Spring Value註釋爲常量文件中的每個屬性 – Shindhur

+0

訪問這些初始化屬性您是否可以將此片段包含到您的問題中? (大括號按鈕)。如果我理解正確,運行'applicationBatch'時不會調用'getPropertySourcesPlaceholderConfigurer'? –

回答

0

Spring會管理是否InternalConfig您可以使用@Import導入它,或者使用InternalConfig之一的基本軟件包父級配置組件掃描。 applicationBatch似乎錯過了這種方法之一。

你能檢查嗎?