0

我正在开发使用 JSF 2.2 的新项目。我的工具编号为 Netbeans 7.3 Bata1 + Mysql + EclipseLink。

我想在我的项目上使用标签,但是在我将 JSF 2.2 库添加到项目并测试部署后,我收到了一些警告消息:

WARNING: Multiple [2] JMX MBeanServer instances exist, we will use the server at index [0] : [com.sun.enterprise.v3.admin.DynamicInterceptor@6054cd1b].
WARNING: JMX MBeanServer in use: [com.sun.enterprise.v3.admin.DynamicInterceptor@6054cd1b] from index [0] 
WARNING: JMX MBeanServer in use: [com.sun.jmx.mbeanserver.JmxMBeanServer@235fe684] from index [1] 
WARNING: WEB9052: Unable to load class javax.faces.render.RendererWrapper, reason: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/render/RendererWrapper
WARNING: WEB9052: Unable to load class javax.faces.component.UIViewAction, reason: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/component/UIViewAction
WARNING: WEB9052: Unable to load class javax.faces.component.html.HtmlInputFile, reason: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/component/html/HtmlInputFile

当我插入页面并在浏览器上打开它时,我收到了这个错误:

/system/systemThemes.xhtml @188,102 <h:inputFile> Tag Library supports namespace: http://java.sun.com/jsf/html, but no tag was defined for name: inputFile

我该如何解决这个问题?我尝试研究了几天,但没有找到任何解决方案。

4

1 回答 1

4

java.lang.ClassFormatError:类文件 javax/faces/component/html/HtmlInputFile 中非本机或抽象方法中的缺失代码属性

您安装了包含 API ( javax.faces.*) 的 JAR 文件,但没有安装包含 impl 的 JAR 文件(例如 Mojarra,com.sun.faces.*)。您基本上最终得到了来自 JSF API 的几个抽象类/接口,而没有实际工作的具体实现。这就像导入和使用 JDBC 代码,但不使用供应商特定的 JDBC 驱动程序(这是 JDBC API 的具体实现)。

确保您也安装了带有 impl 的 JAR。从Maven/jsf-api的和/jsf-impl文件夹中获取 JAR 文件。

于 2013-02-03T10:45:08.683 回答