14

JSF 2.0 能否与 WebSphere Application Server 版本 7.x 一起使用?

如果是这样,怎么做?

4

8 回答 8

13

WebSphere Infocenter指出,更改为替代 JSF 实现的正确方法是创建一个启用了隔离类加载器选项的 WebSphere 共享库。

任何需要 JSF 2 的模块都将与新的共享库相关联,然后应用程序将从 JSF 2 而不是 JSF 1.2 开始。

需要安装修订包 7.0.0.19 或更高版本

于 2010-02-06T03:55:30.147 回答
0

Websphere 附带 JSF 1.2.something,默认情况下会加载它。要使用不同的 JSF 库(或 WS 提供的任何其他库,例如 commons-logging),您需要更改类加载器确定位置优先级的方式。他们称其为“最后的父级”,这意味着加载您的库,然后加载 WS 版本。

于 2010-01-04T13:03:55.970 回答
0

按照 IBM 的建议,逐步将 WebSphere Application Server v7 上的 MyFaces 2.0 设置为共享库: 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 不支持

于 2012-04-20T16:05:33.597 回答
0

这几天我一直在努力解决这个问题。这是我解决它的方法。

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

如果您使用的是 PrimeFaces 3.1:primefaces-3.1.1.jar

应用程序服务器实例:类加载 - 父级最后

Enterprise Application instance (war Module): Class Loading - Parent Last

确保删除所有 Servlet 容器库,例如 Tomcat 所需的那些。

于 2012-03-14T09:40:14.070 回答
0

以下为我工作

  • 创建一个共享库并将 JSF 2.0 jar 放入其中。
  • 还要添加 EL 2.2 API 和 EL-Impl 2.2 jar,因为 JSF 2.0 隐含需要这个。
  • 将此库添加到您的应用程序并将类加载器首选项设置为 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>

而已 。

于 2013-10-09T10:15:15.520 回答
0

我的经验:

-> WAS 7.0.0.11 在 Windows 上

-> 我的 War 应用程序的 WEB-INF/lib 中的 javax.faces-2.0.11.jar

-> WAS 共享库与 javax.faces-2.0.11.jar 和隔离类加载器

-> WAS 与我的 War App 相关的共享库

-> 实例和应用程序的类加载器没有变化 (PARENT_FIRST)

有了这个配置(上图),应用程序可以在 WAS 7 上与 JSF 2.0 一起正常工作。如果我从我的 War 应用程序中删除 javax.faces-2.0.11.jar,它就不起作用。

于 2013-05-15T13:38:27.973 回答
0

嗨,我可以使用这个库来运行我的网站

图书馆

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

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

在 websphere 中配置以加载我的库(最后的父级)

问候

于 2015-11-26T16:55:59.307 回答
0

感谢你们!

它适用于较新版本的 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

问候

于 2016-09-08T22:35:05.083 回答