2011-04-29 63 views
2

在我目前的JSF 2項目後,在web.xml的context-param,在web.xml一個設置是方式覆蓋期間或部署到JBoss AS 6

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

並將其值應設置爲Production而不是Development部署在JBoss AS中。

是否有簡單的方法在部署期間或部署後覆蓋或修改此web.xml條目?


更新:我發現this article這也解釋了在JBoss的AS5 deployers目錄中的文件。作者寫道:

當你想要一個 配置適用於所有網絡 應用程序有很多次,JBoss的具有全局 版本的這些文件,這是 坐落在部署人員目錄的

所以對於web.xml的全局級配置,可以使用文件deployers/jbossweb.deployer/web.xml。我將檢查這些文件可以重寫值或只值如果您知道,如果在應用層面web.xmldeployers/jbossweb.deployer/web.xml覆蓋值,請留言在這裏添加到應用程序級web.xml

;)

回答

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部署。見properties,profiles

0

由於javax.faces.PROJECT_STAGE參數的默認值是Production,我會從web.xml刪除此的context-param它,所以它會是Live服務器上Production,併爲開發環境(這實際上是一個GlassFish的第三版)我將context-param添加到默認的web.xml。由於應用程序參數覆蓋全局參數,我認爲這是最基於標準的方法。