我正在开发使用JSF 2.2的新项目。 我的工具是ID Netbeans 7.3 Bata1 + Mysql + EclipseLink。
我想在我的项目中使用tag,但在我将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
如何解决此问题? 我试着研究了几天,但没找到任何解决方案。
答案 0 :(得分:4)
java.lang.ClassFormatError:类文件中缺少Code属性,而不是类文件中的native或abstract javax / faces / component / html / HtmlInputFile
您安装了包含API(javax.faces.*
)的JAR文件,但没有安装包含impl的JAR文件(例如Mojarra,com.sun.faces.*
)。您基本上最终会得到JSF API中的几个抽象类/接口,而没有实际工作的具体实现。它就像导入和使用JDBC代码一样,但不使用特定于供应商的JDBC驱动程序(这是JDBC API的具体实现)。
确保您也使用impl安装JAR。从/jsf-api
和/jsf-impl
文件夹here at Maven获取JAR文件。