【发布时间】:2018-10-03 09:36:59
【问题描述】:
在我的应用程序启动中,我从应用程序属性中的环境变量中获取了一些变量。
它适用于 Spring Boot 容器。
但是当我使用 wildfly 10 System.getenv 启动应用程序时,总是返回 null。我在 STS 的运行配置中设置了我的环境变量,它在运行 wildfly 的 openshift 中也不起作用。
这是我的代码示例:
String showSql = System.getenv("SHOW_SQL");
if(value.contains(":")){
int split = value.indexOf(":");
List<String> s = new ArrayList<String>();
s.add(value.substring(1, split)) ;
s.add(value.substring(split+1, value.length()-1));
// value.split(":");
if(System.getenv(s.get(0)) != null){
var = System.getenv(s.get(0));
}else{
var = s.get(1);
var = var.replace(":", "");
}
}else{
value = value.replace("{", "");
value = value.replaceAll("}", "");
var = System.getenv(value);
}
谁能帮帮我?
【问题讨论】:
-
我怀疑问题在于您如何为运行 wildfly 的 JVM 进程提供环境变量——也许您可以考虑一下这与运行 Spring Boot 的方式之间的区别?
-
这不是环境变量,而是常规的 java 系统属性。这些是不同的东西。而是使用
System.getProperty。 -
我用过,但它也不起作用
标签: java spring-boot environment-variables wildfly application.properties