2

在我当前的 JSF 2 项目中,web.xml 中的一项设置是

<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>

并且它的值应该在 JBoss AS 的部署中Production设置为。Development

在部署期间或之后是否有简单的方法来覆盖或修改此 web.xml 条目?


更新:我发现这篇文章解释了 JBoss AS5deployers目录中的文件。作者写道:

有时您希望将配置应用于所有 Web 应用程序,JBoss 具有这些文件的全局版本,这些文件位于 deployers 目录中

因此,对于 web.xml 的全局级配置,deployers/jbossweb.deployer/web.xml可以使用该文件。我将检查这些文件是否可以覆盖值或仅将值添加到应用程序级别web.xml

如果您知道是否deployers/jbossweb.deployer/web.xml覆盖应用程序级别的值web.xml,请在此处留言;)

4

2 回答 2

2

如果您使用的是 Maven,您可以web.xml从属性文件中筛选并设置值。例子:

<properties>
    <stage.dir>Development</stage.dir>
</properties>
<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
</build>

并为每个配置文件设置不同的值,因此您只需使用mvn goal -P production. 请参阅属性配置文件

于 2011-04-29T07:16:42.707 回答
0

由于javax.faces.PROJECT_STAGE参数的默认值为Production,我将从中删除此上下文参数,web.xml因此它将Production在实时服务器上,对于开发环境(实际上是 GlassFish v3),我将上下文参数添加到默认值网页.xml。由于应用程序参数覆盖全局参数,我认为这是最基于标准的方式。

于 2011-04-29T12:04:28.353 回答