【发布时间】:2016-08-28 04:06:01
【问题描述】:
根据这个github issue,我可以指定一个application.properties 文件的位置。例如
JNDI 环境资源:
java:comp/env/spring.config.location = /some/path/application.properties
我想知道的是:
我可以使用 JNDI 绑定在我的 Spring Boot 应用程序中直接配置单个 application.properties 属性值吗?
我尝试了以下 JNDI 变量(无济于事):
JNDI 环境资源:
java:comp/env/my.env.myCustomStringField = foobar
java:comp/env/my.env.my-custom-string-field = foobar
如果您在容器中运行,则可以使用 JNDI 属性(在
java:comp/env中)或 servlet 上下文初始化参数来代替环境变量或系统属性,或者同时使用环境变量或系统属性。
我目前正在使用the following workaround。
【问题讨论】:
-
环境变量和应用程序属性不同。如果您使用的是 windows 机器,那么您可以设置环境
My Computer -> Right click on properties -> Advanced system settings -> Environment variables。在这里您可以定义所有应用程序都可以访问的全局变量。第二种方式,您可以通过特定于该程序的命令行使用-Dkey=value传递应用程序参数。
标签: java spring spring-boot jndi