2017-07-28 111 views
1

我正在我的罐子通过以下方式在UNIX春季启动覆盖属性文件

Java的罐子$ CLASSPATH --spring.config.location = application.yml

而且我也使用它,我配置方式如下属性文件:

@PropertySource("file:${DATASERVICE_PROPERTIES}") 

两个application.yml和DATASERVICE_PROPERTIES拥有财产性

server.port 

我想使用application.yml中的server.port。

我认为通过命令行提供的属性具有最高的优先级(从下面的链接),那么为什么从DATASERVICE_PROPERTIES采取server.port?通过命令行覆盖性能在src/main/resources/application.properties提供

Spring Boot and multiple external configuration files

回答

0

属性和config/application.properties 既然你在代码中指定要使用这并不适用的文件。 为什么你不使用上面的两个属性文件位置? 所以你可以删除你的@PropertySource,你将能够通过命令行覆盖你的属性。

+0

因为配置文件不能在那里,它们被部署在一个单独的位置。 – user3809938

+0

好吧,我明白了。可以使用弹簧配置文件解决您的问题? –