在 JBoss AS 6 中部署期间或之后覆盖 web.xml 中的 context-param 的方法
在我当前的 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 AS5中的文件deployers
目录。作者写道:
有时候你想要一个 适用于所有网络的配置 应用程序,JBoss 拥有全球 这些文件的版本是 位于部署者目录中
因此对于 web.xml 的全局级配置,可以使用文件 deployers/jbossweb.deployer/web.xml
。我将检查这些文件是否可以覆盖值或仅将值添加到应用程序级 web.xml
如果您知道 deployers/jbossweb.deployer/web.xml
是否覆盖值在应用程序级别web.xml
中,请在此留言;)
In my current JSF 2 project, one setting in the web.xml is
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
And its value should be set to Production
instead Development
on deployment in JBoss AS.
Are there simple ways to override or modify this web.xml entry during or after deployment?
Update: I found this article which explains the files in JBoss AS5 deployers
directory. The author writes:
There are times when you want a
configuration to apply to all web
applications, JBoss has global
versions of these files which are
located in the deployers directory
So for a global-level configuration of web.xml, the file deployers/jbossweb.deployer/web.xml
can be used. I will check if these files can override values or only add values to the application-level web.xml
If you know if deployers/jbossweb.deployer/web.xml
overrides values in the application level web.xml
, please leave a message here ;)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用 Maven,则可以对
web.xml
进行过滤副本并设置属性文件中的值。示例:并为每个配置文件设置不同的值,因此您只需使用
mvn goal -P production
进行部署。请参阅 属性、个人资料。If you are using Maven you can do a filtered copy of
web.xml
and set the values from a properties file. Example:And set different values per profile, so you just have to deploy with
mvn goal -P production
. See properties, profiles.由于
javax.faces.PROJECT_STAGE
参数的默认值为Production
,因此我将从web.xml
中删除此上下文参数,以便它将在实时服务器上进行生产,对于开发环境(实际上是 GlassFish v3),我将上下文参数添加到默认的 web.xml 中。由于应用程序参数覆盖全局参数,我认为这是最基于标准的方式。As the default value of the
javax.faces.PROJECT_STAGE
parameter isProduction
, I will remove this context-param it from theweb.xml
so it will beProduction
on the live servers, and for the development environment (which is actually a GlassFish v3) I add the context-param to the default web.xml. As application parameters override global parameters, I think this is the most standards based way.