2017-05-02 257 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,不,它不是一个目录。 –