【问题标题】:How to make websphere 8.5 use mojarra not myfaces如何使 websphere 8.5 使用 mojarra 而不是 myfaces
【发布时间】:2014-08-07 03:44:29
【问题描述】:

我有一个在 Eclipse 中运行的 JSF2 (Richfaces 4.1.0) 项目。 我正在尝试使用 mojarra jsf 实现(2.2.0)在 WAS 8.5 上运行它。 然后 maven 提供了 lib,但服务器似乎覆盖了它们,因为在控制台中我可以读取 Myfaces 已加载。

我想知道为什么 WAS 会这样?如何让项目使用 mojarra 而不使用管理控制台中的共享库?

这是代码的 maven 相关部分:

    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.2.0</version>
    </dependency>

    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.2.0</version>
    </dependency>

    <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>javax.faces-api</artifactId>
        <version>2.2</version>
    </dependency>

    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.faces</artifactId>
        <version>2.2.0</version>
    </dependency>

提前致谢

【问题讨论】:

    标签: richfaces maven-3 websphere-8


    【解决方案1】:

    我写了这个blog 来演示如何让 websphere 8.5 使用 mojarra 而不是 myfaces。

    1. 将 Mojarra 侦听器添加到所需的 web.xml 文件。 &lt;listener&gt;&lt;listener-class&gt;com.sun.faces.config.ConfigureListener&lt;/listener-class&gt;&lt;/listener&gt;
    2. 将 Mojarra JSF 实现,即 javax.faces-2.1.24.jar、jsf-api-2.1.24.jar 和 jsf-impl-2.1.24.jar 添加到 Environment > Shared Libraries。
      • javax.faces-2.1.24.jar (GroupId: org.glassfish)
      • jsf-api-2.1.24.jar (GroupId: com.sun.faces)
      • jsf-impl-2.1.24.jar (GroupId: com.sun.faces)
    3. 配置共享库后,Websphere 服务器必须重启。
    4. 部署项目后,在 Enterprise Applications > staaec-web-1_0_10-SNAPSHOT_war(your project) > Class loader。必须选择类加载器顺序(首先使用本地类加载器加载的类(最后一个父类))
    5. 要将共享库引用到您的项目,您必须转到企业应用程序 > staaec-web-1_0_10-SNAPSHOT_war > 共享库引用 > 共享库映射以将共享库映射到您的项目。
    6. 启动您的应用程序。

    【讨论】:

    • 我们不需要添加 3 个罐子,只需 javax.faces-2.x.x.jar 就足够了,正如 BalusC 所提到的。我还在共享库中使用了一个 jar,它运行成功。感谢您的真棒回答,这对我有很大帮助.. :)
    【解决方案2】:

    查看此页面Configuring JavaServer Faces implementation。 它详细解释了您必须配置的内容(基本隔离的共享库和配置 JSF 设置)

    【讨论】:

    • 所以基本上为了让服务器使用更新版本的 sun 的 JSF 实现(mojarra 2.2.0),我必须表现得好像它是一个第三方库......对吧?
    猜你喜欢
    • 2016-03-31
    • 2012-03-31
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    相关资源
    最近更新 更多