我正在尝试将我的 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.
问题
为什么
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 而失败。当我的应用程序使用 JSF 2.1 时,是否有某种方法可以让所有 jboss 可部署项(例如
jbossweb.sar)继续使用 JSF 1.2?有什么方法可以让我的应用在运行时吐出 JSF 版本?
The ELResolvers for JSF were not registered with the JSP container.INFO 消息是怎么回事?我的应用程序总是在启动时记录该消息。