2010-08-09 83 views
1

我正在尝试从Sun One移动旧的JSF v1.0应用程序到Jboss 4.3 EAP,它具有jsf v 1.2 jar包。我已经能够让应用程序进行编译和部署,但是当试图在本地运行它时,它给了我一个ClassNotFoundException(以及正确的)com.sun.faces.taglib.FacesTagExtraInfoJSF FacesTagExtraInfo类不在JSF 1.2中v

它不存在于jsf_impl.jar,就像它在1.0版本中一样,还有两个其他类文件。我无法将旧版v粘贴到部署文件夹中(对于jboss而言,它不起作用,并且jboss抱怨本地配置错误,因为它想使用它的jar)。我已经做了一些搜索,但我似乎无法找到解决方案。

回答

1

该类在JSF 1.2中被删除,因为它变得多余了新的视图处理程序。如果你得到这个异常,那么这意味着你仍然有一个版本为1.0/1.1的jsf-api.jar在classpath中的某个地方徘徊,它在classloading期间优先于版本1.2。但是你的做的在类路径中有版本1.2的jsf-impl.jar(可能是appserver提供的)。

清理你的类路径以摆脱旧的1.0 JAR并重新启动。 webapp的运行时类路径覆盖的默认路径分别位于每个Webapp/WEB-INF/lib,JDK/libJDK/lib/ext之下。

+0

我会试试看,谢谢 – 2010-08-09 14:54:36

+0

嗯,我试过了,并不是这样,即使在机器上搜索,唯一的jsf * .jars或tlds在jboss4.3 EAP – 2010-08-09 21:41:19

+0

在提到的文件夹中是否没有其他特定于服务器的JAR?删除它们。同时检查'JRE'库。实际上,您不应该触摸默认的JRE/JDK lib文件夹。你也不应该把服务器特定的库放在'/ WEB-INF/lib'中。 – BalusC 2010-08-09 22:02:27