2017-05-02 302 views
1

相當直截了當。我有一個配置文件:`spring.config.location`被忽略

# ls -la /etc/my-application 
-rwxr-xr-x 1 root root 18 May 3 04:24 /etc/my-application 
# cat /etc/my-application 
server.port=12345 

我跑我的應用程序爲如下:

java org.springframework.boot.loader.JarLauncher --spring.config.location="file:///etc/my-application" 

和記錄指示設置是可見的應用程序:

04:28:16.919 [主] WARNING CONFIG- [--spring.config.location = file:/// etc/my-application]

但我的設置被忽略:

Tomcat initialized with port(s): 8080 (http) 

下產生相同的結果:

java org.springframework.boot.loader.JarLauncher --spring.config.location="file://etc/my-application" 

因此,沒有:

java org.springframework.boot.loader.JarLauncher --spring.config.location="file:/etc/my-application" 

這也不管用,參數不來通過,以及:

java -Dspring.config.location="file:///etc/my-application" org.springframework.boot.loader.JarLauncher 
... 
... 04:36:53.979 [main] WARNING CONFIG - [] 

奇怪的是,如果我直接指定設置,它的工作原理:

java org.springframework.boot.loader.JarLauncher --server.port=12345 
... 
... Tomcat initialized with port(s): 12345 (http) 

我在哪裏出錯了?把我的頭髮甩出這個!

+1

你有沒有試過'-Dspring.config.location =「file:/// etc/resources-master-server」'? – Ishnark

+0

@ishnark - 複製粘貼錯誤放在一邊,我試過了。但是,給參數正在經歷我不認爲這將是解決方案。我將立即運行並更新。 –

+1

哦,我的意思是'-D'不是斜槓的數量 – Ishnark

回答

0

獲勝組合橫空出世爲:

java org.springframework.boot.loader.JarLauncher --spring.config.location=file:///etc/resources-master-server.properties 

這裏的關鍵點是,續租事宜。 Spring似乎通過擴展來確定設置文件是什麼,而不是文件的內容,也沒有擴展名,它似乎不知道如何處理屬性文件。

謝謝給那些爲我們提供幫助和建議的人,薩米爾對我提出了什麼問題。

1

'/ etc/my-application'是一個目錄嗎?如果是的話,你在所有嘗試中都會丟失一個斜線。你絕對需要這個。

例如在/ etc /我的應用程序/

+0

嗨Sameer,不,它不是一個目錄。 –