0

我正在尝试将我的 webapp 从 JSF 1.2 升级到 JSF 2.1。这是我现在正在运行的:

| Item  | Version     |
| ----- | ----------- |
| JBoss | 5.1.1 (EAP) |
| Seam  | 2.2.1 (EAP) |
| JSF   | 1.2         |

我想升级到 JSF 2.1。这是我目前正在尝试切换到的内容:

| Item  | Version     |
| ----- | ----------- |
| JBoss | 5.1.1 (EAP) |
| Seam  | 2.3.0 (EAP) |
| JSF   | 2.1         |

我在 war 文件中包含了来自 SEAM 2.3.0 包的以下 jar:

jboss-jsf-api_2.1_spec.jar
jsf-impl.jar

JBoss 目录下的 jsf jars 是:

./server/default/deploy/jbossweb.sar/jsf-libs/jsf-api.jar
./server/default/deploy/jbossweb.sar/jsf-libs/jsf-impl.jar

当我使用我的应用程序时,似乎JSF 2.1 运行良好,但在启动时,我在服务器日志中看到这些行:

2013-04-22 08:33:50,044 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (main) Initializing Mojarra (1.2_13-b01-FCS) for context '/myapp'
2013-04-22 08:34:06,811 INFO  [javax.enterprise.resource.webcontainer.jsf.lifecycle] (main) JSF1027: [null] The ELResolvers for JSF were not registered with the JSP container.

问题

  1. 为什么Initializing Mojarra (1.2_13-b01-FCS)?它只是在启动时显示这个然后在运行时切换到使用 JSF 2.1 吗?

    如果我./server/default/deploy/jbossweb.sar/jsf-libs/用 jsf 2.1 罐子换下 2 个罐子,我会得到Initializing Mojarra 2.1.7 (SNAPSHOT 20120206)。但是,jboss 附带的包都因 ClassNotFoundExceptions 而失败。

  2. 当我的应用程序使用 JSF 2.1 时,是否有某种方法可以让所有 jboss 可部署项(例如jbossweb.sar)继续使用 JSF 1.2?

  3. 有什么方法可以让我的应用在运行时吐出 JSF 版本?

  4. The ELResolvers for JSF were not registered with the JSP container.INFO 消息是怎么回事?我的应用程序总是在启动时记录该消息。

4

1 回答 1

0

在 JBoss 5.1.1 EAP 上,我已将 JSF 1.2 升级到 JSF 2.1(Mojarra 实现)。

我的经验与这篇法语文章有关:http: //javaetmoi.com/2014/06/notes-migration-jsf2-richfaces4-jboss5-eap/谷歌翻译是你的朋友

您将学习如何卸载 JSF 1.2。JSF 2.1 嵌入到您的 WAR/EAR 的 lib/ 文件夹中。它工作正常:

20:52:19,534 INFO  [config] Initialisation de Mojarra 2.1.19 ( 20130213-1512 https://svn.java.net/svn/mojarra~svn/tags/2.1.19@11614) pour le contexte «/richfaces-showcase» - See more at: http://javaetmoi.com/2014/06/notes-migration-jsf2-richfaces4-jboss5-eap/#sthash.fDmunAGP.dpuf
于 2014-07-05T08:55:33.040 回答