5

我在 JBOSS 的 run.conf 中添加了一个系统属性,如下所示:

JAVA_OPTS="$JAVA_OPTS -Dfoo=bar"

现在我的问题是,是否有办法以如下方式解决 web.xml 文件中的此属性:

...
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
    classpath:applicationContext-common.xml
    classpath:conf/${foo}/applicationContext-local.xml
  </param-value>
</context-param>
...
4

4 回答 4

6

您必须将standalone.xml 中的spec-descriptor-property-replacement设置为true

    <subsystem xmlns="urn:jboss:domain:ee:1.2">
        <spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
        <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
    </subsystem>
于 2015-04-22T09:00:11.063 回答
4

由于 JBoss 在内部使用 tomcat web-container,它应该像您的示例 (${foo}/applicationContext-local.xml) 一样工作。我没有尝试过 JBoss 案例,但我们在 Tomcat 中一直使用这种技术。

于 2009-06-12T04:10:10.960 回答
1

web.xml 应仅适用于单个 Web 应用程序。它不应该有全局配置。所以不行。无论如何,当服务器和你的 web 应用程序加载完毕时,开始播放命令行参数已经太晚了。

于 2009-03-26T17:17:30.903 回答
0

我不知道有什么可能。但在我看来,这应该在应用程序中实现。为什么要增加间接性?通常,您可以从应用程序 (app > web.xml) 中访问 web.xml 的内容。为什么这样做:app > web.xml > 环境变量?

于 2009-03-26T16:50:53.417 回答