2016-05-25 24 views
0

我想告訴春天在哪裏可以找到我的外部「application.properties」文件。我的最終可部署工件是一個戰爭文件,我正在用tomcat進行測試。它不是一個嵌入了tomcat的可執行jar。我已將「application.properties」放入根驅動器或文件系統的新「config」目錄中。如何外部化「spring.config.location」?

當我將它放在我的@Configuration類中時,會引發FileNotFoundException。

@PropertySource(name = "spring.config.location", value = "/config", ignoreResourceNotFound = false) 

產生的原因:java.io.FileNotFoundException:類路徑資源 [配置/]不能打開,因爲不存在

新的 「config」 目錄在我的地方存在,它Windows 7服務器和「application.properties」文件存在。我究竟做錯了什麼?

我也嘗試設置名稱爲「spring.config.location」,值爲「\ config」的Windows7系統環境變量。這也失敗了,同樣的錯誤。

我應該注意到我的父母maven模塊是spring-boot-starter-parent:1.3.5-RELEASE。

+0

您是否已將配置位置添加到tomcat類路徑中。 – Shibashis

+0

不,如果可能,我寧願避免這種情況。這是絕對必要的嗎? – bwfrieds

+0

嘗試使用file:/// c:/../config/application.properties – Shibashis

回答

1

使用以下配置位置 「file:/// c:/../config/application.properties」解決了該問題。

屬性文件可以使用實際位置前面的「file:」指令從classpath外部加載。

+0

從我的junit測試配置類... @TestPropertySource(「file:///config/application.properties」) – bwfrieds