Java 在Tomcat上部署JSF war时出现异常

Java 在Tomcat上部署JSF war时出现异常,java,jsf,tomcat,deployment,tomcat8,Java,Jsf,Tomcat,Deployment,Tomcat8,我有JSFWAR文件并将其部署到Tomcat8。但是,当我启动它时,有以下例外: 23-Sep-2015 08:55:39.664 INFO [http-nio-4747-exec-15] org.apache.catalina.core.ApplicationContext.log HTMLManager: start: Starting web application '/jsfexample' 23-Sep-2015 08:55:39.709 SEVERE [http-nio-4747-e

我有JSFWAR文件并将其部署到Tomcat8。但是,当我启动它时,有以下例外:

23-Sep-2015 08:55:39.664 INFO [http-nio-4747-exec-15] org.apache.catalina.core.ApplicationContext.log HTMLManager: start: Starting web application '/jsfexample'
23-Sep-2015 08:55:39.709 SEVERE [http-nio-4747-exec-15] org.apache.catalina.core.ApplicationContext.log FAIL - Application at context path /jsfexample could not be started
 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/jsfexample]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
        at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1293)
        ......................
Caused by: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/webapp/FacesServlet
        at java.lang.ClassLoader.defineClass1(Native Method)
        ... 32 more

23-Sep-2015 08:55:39.711 INFO [http-nio-4747-exec-15] org.apache.catalina.core.ApplicationContext.log HTMLManager: list: Listing contexts for virtual host 'localhost'

我在Tomcat7中遇到了同样的问题,我通过添加完整的JSF maven依赖项解决了这个问题(我缺少
JSF impl
):


com.sun.faces
jsf impl
2.2.12
javax.faces
javax.faces-api
2.2

我想Tomcat 8也是一样。

您是否在Artifacts中设置了
输出目录
?@Samane,其实我并不知道。愿Java神与您相伴一生。你刚刚为我结束了3个小时的挣扎。
<dependency>
   <groupId>com.sun.faces</groupId>
   <artifactId>jsf-impl</artifactId>
   <version>2.2.12</version>
</dependency>
<dependency>
   <groupId>javax.faces</groupId>
   <artifactId>javax.faces-api</artifactId>
   <version>2.2</version>
</dependency>