我正在尝试将我的 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 消息是怎么回事?我的应用程序总是在启动时记录该消息。