如何在JSF 2.2中设置项目以支持h:inputfile

时间:2013-02-03 09:18:30

标签: jsf jsf-2.2

我正在开发使用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

如何解决此问题? 我试着研究了几天,但没找到任何解决方案。

1 个答案:

答案 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文件。