簡體   English   中英

JSF 2.0可以與Websphere應用程序服務器版本7.x一起使用

[英]Can JSF 2.0 be used with Websphere application server version 7.x

JSF 2.0可以與WebSphere Application Server V7.x一起使用嗎?

如果是這樣,怎么樣?

WebSphere Infocenter表明,更改為替代JSF實現的正確方法是創建一個啟用了隔離的類加載器選項的WebSphere共享庫。

任何需要JSF 2的模塊都將與新的共享庫相關聯,然后應用程序將以JSF 2而不是JSF 1.2開始。

必須安裝修訂包7.0.0.19或更高版本

逐步將WebSphere Application Server v7上的MyFaces 2.0設置為IBM建議的共享庫: http//wasbehindtheglass.blogspot.co.uk/

我已經為Majorra / JSF 2.0.4應用了類似的步驟,並僅使用jsf-api.jar和jsf-impl.jar創建了一個共享庫。 正如@Ian McLaird告訴WAS 7.0.0.19和JSF 2.0.4是必需的。 JSF 2.1.x需要Servlet 3,WAS7不支持

我的經驗:

- > Windows上的WAS 7.0.0.11

- >我的戰爭應用程序的WEB-INF / lib中的javax.faces-2.0.11.jar

- >使用隔離類加載器與javax.faces-2.0.11.jar共享庫

- > WAS與我的戰爭應用程序相關的共享庫

- >類加載器的實例和應用程序沒有變化(PARENT_FIRST)

有了這個conf(上面),應用程序可以在WAS 7上使用JSF 2.0。如果我從我的War應用程序中刪除了javax.faces-2.0.11.jar,它就不起作用了。

以下為我工作

  • 創建一個共享庫並將JSF 2.0 jar放入其中。
  • 還要添加EL 2.2 API和EL-Impl 2.2 jar,因為JSF 2.0隱式需要這個。
  • 將此庫添加到您的應用程序,並將classloader首選項設置為PARENT_LAST。

更改web.xml如下

 <context-param>
                <param-name>com.sun.faces.expressionFactory</param-name>
                <param-value>com.sun.el.ExpressionFactoryImpl</param-value>
    </context-param>
    <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>

而已 。

Websphere附帶JSF 1.2.something並默認加載它。 要使用不同的JSF庫(或WS提供的任何其他庫,例如commons-logging),您需要更改類加載器對位置進行優先級排序的方式。 他們稱之為“父級最后”意味着加載你的lib然后加載WS版本。

嗨,我可以使用這個庫運行我的網站

librerias

在我的項目的web.xml中配置

 <context-param>
    <param-name>com.sun.faces.expressionFactory</param-name>
    <param-value>com.sun.el.ExpressionFactoryImpl</param-value>
</context-param>

在websphere中配置以加載我的庫(Parent Last)

問候

感謝你們!

它適用於更新版本的javax.faces。 查看maven依賴項:

    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.faces</artifactId>
        <version>2.1.29-08</version>
    </dependency>
    <dependency>
        <groupId>javax.el</groupId>
        <artifactId>el-api</artifactId>
        <version>2.2</version>
    </dependency>
    <dependency>
        <groupId>com.sun.el</groupId>
        <artifactId>el-impl</artifactId>
        <version>2.2</version>
    </dependency>

不要忘記在web.xml中添加以下內容:

<context-param>
   <param-name>com.sun.faces.expressionFactory</param-name>
   <param-value>com.sun.el.ExpressionFactoryImpl</param-value>
</context-param>

最后將應用程序和模塊的WebSphere類加載器順序更改為(父最后一個)設置: https//www.ibm.com/support/knowledgecenter/SSAW57_7.0.0/com.ibm.websphere.nd.doc/信息/ AE / AE / urun_rclassloader_inst.html

問候

幾天來我一直在努力解決這個問題。 這是我解決它的方式。

使用以下庫: javax.faces-2.1.7.jar

如果你在PrimeFaces 3.1: primefaces-3.1.1.jar

Application Server實例: Class Loading - Parent Last

企業應用程序實例(戰爭模塊): 類加載 - 父最后

確保刪除所有Servlet容器庫,例如Tomcat所需的庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM