栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

java.lang.IllegalArgumentException:javax.faces.lifecycle.ClientWindowFactory

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java.lang.IllegalArgumentException:javax.faces.lifecycle.ClientWindowFactory

Webapp的运行时类路径一团糟。

摆脱/ WEB-INF / lib中的那些JAR

  • javaee-web-api-7.0.jar
  • javax.faces-2.2.5.jar
  • javax.servlet-api-3.0.1.jar

第一个旨在用于编译针对Java EE 7容器的WAR / EAR。它不打算沿着针对像Tomcat这样的准JSP /
Servlet容器的WAR安装。会感到困惑,并认为它实际上是Java EE 7容器(哦,高兴)。

第二个是Mojarra 2.2.5(API和impl捆绑在单一JAR风格中),它是您看到的最初麻烦的原因。您基本上是在针对先前已通过Tomcat加载的JSF
2.1 API加载JSF 2.2实现

/lib
。该
javax.faces.lifecycle.ClientWindowFactory
自JSF
2.2(也看到的是新
@since
的Javadoc中),而不是由JSF
2.1 API的认可。

第三个应该由Tomcat本身提供。请注意,Java EE 7 JAR还包含JSF 2.2和Servlet 3.1
API。因此,这毕竟是JSF和Servlet API的三重冲突(一个来自Tomcat的

/lib
API,一个来自WAR的
/WEB-INF/lib
API和一个来自Java EE 7 JAR捆绑包的API;这不好)。

无论如何,我建议也清理Tomcat的/ lib并将其保留为默认值。只需坚持WAR的/ WEB-INF / lib中的JAR。而且,如果你 确实
打算建立一个JSF 2.2的目标Web应用程序(第一双检

version
faces-config.xml
,如果它匹配),然后继续在
javax.faces-2.2.5.jar
和摆脱那些
jsf-api-2.1.13.jar
jsf-impl-2.1.13.jar
文件。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405991.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号