2016-05-03 152 views
1

根據這個github issue,我可以指定一個application.properties文件的位置。例如Spring-Boot>使用JNDI設置application.properties

JNDI環境資源:

java:comp/env/spring.config.location = /some/path/application.properties 

我想知道的是:

我可以使用JNDI綁定直接配置單個application.properties中的屬性值我的Spring Boot應用程序?

我已經試過以下JNDI瓦爾(無濟於事):

JNDI環境資源:

java:comp/env/my.env.myCustomStringField = foobar 
java:comp/env/my.env.my-custom-string-field = foobar 

Spring Reference:

如果你正在運行一個容器,然後JNDI屬性(在java:comp/env)或servl可以使用上下文初始化參數來代替環境變量或系統屬性,也可以使用環境變量或系統屬性。

我目前使用的是the following workaround

+0

環境變量和應用程序屬性是不同的。如果您使用的是Windows機器,那麼您可以設置環境'我的電腦 - >右鍵單擊屬性 - >高級系統設置 - >環境變量'。在這裏你可以定義全局變量**,可以被所有應用程序訪問。第二種方式是通過特定程序的命令行使用-Dkey = value來傳遞應用程序參數。 – Braj

回答

0

不知道我在想什麼,可以使用JNDI來設置application.properties文件的位置,和/或覆蓋任何應用程序變量。

例如

spring.config.location = file:/some/location/properties/ 
my.env.myCustomStringField = foobar 

不要打擾java:comp/env/,春天會讓你遠離它。

相關問題