bob*_*e01 2 java xml web-applications websphere-liberty
<?xml version="1.0" encoding="UTF-8"?>
<server>
<variable
name="temp"
value="Something" />
</server>
Run Code Online (Sandbox Code Playgroud)
如何以编程方式temp从基于 Java 的 Web 应用程序读取xml 文件?
尝试着:
String temp = System.getenv("temp");
Run Code Online (Sandbox Code Playgroud)
有几个选项你必须这样做:
在server.xml:
<featureManager>
<feature>mpConfig-1.3</feature>
....
</featureManager>
<variable name="temp" value="Something" />
Run Code Online (Sandbox Code Playgroud)
然后注入任何 CDI bean:
@Inject
@ConfigProperty(name = "temp")
String temp;
Run Code Online (Sandbox Code Playgroud)
<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}"/>
Run Code Online (Sandbox Code Playgroud)
在 servlet 或 EJB(或其他托管类)中注入资源:
@Resource(lookup = "config/foo")
String foo;
Run Code Online (Sandbox Code Playgroud)
或程序化 JNDI 查找:
String configDir = InitialContext.doLookup("config/configDir");
Run Code Online (Sandbox Code Playgroud)
此方法要求您在${server.config.dir}/server.env中或在启动 Liberty 服务器的进程的环境中设置环境变量。这里的所有内容都将在服务器 JVM 的 env 中结束。
temp=Something
foo=bar
Run Code Online (Sandbox Code Playgroud)
然后在应用程序中获取 env var:
String temp = System.getenv("temp");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1672 次 |
| 最近记录: |