<?xml version="1.0" encoding="UTF-8"?>
<server>
<variable
name="temp"
value="Something" />
</server>
如何从基于Java的Web应用程序中以编程方式从xml文件中读取temp
?
正在尝试:
String temp = System.getenv("temp");
答案 0 :(得分:3)
您必须执行以下一些操作:
在server.xml
中:
<featureManager>
<feature>mpConfig-1.3</feature>
....
</featureManager>
<variable name="temp" value="Something" />
然后注入到任何CDI bean中:
@Inject
@ConfigProperty(name = "temp")
String temp;
<jndiEntry>
在server.xml
中:
<featureManager>
<feature>jndi-1.0</feature>
....
</featureManager>
<jndiEntry jndiName="config/foo" value="whatever"/>
<jndiEntry jndiName="config/bar" value="${temp}"/>
<jndiEntry jndiName="config/configDir" value="${server.config.dir}"/>
在servlet或EJB(或其他托管类)中注入资源:
@Resource(lookup = "config/foo")
String foo;
或通过编程方式的JNDI查找:
String configDir = InitialContext.doLookup("config/configDir");
此方法要求您在${server.config.dir}/server.env
或启动Liberty服务器的进程环境中设置环境变量。此处的所有内容都将最终存储在服务器JVM的环境中。
temp=Something
foo=bar
然后在应用程序中以env var的形式获取:
String temp = System.getenv("temp");