Java 在Tomcat上部署JSF war时出现异常
我有JSFWAR文件并将其部署到Tomcat8。但是,当我启动它时,有以下例外: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
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>