2015-09-23 69 views
0

我擁有JSF war文件並將其部署到Tomcat8。但是,當我開始了,有以下情況除外:在Tomcat上部署JSF戰爭時出現異常

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' 
+0

你是否在Artifacts中設置了'Output directory'? – Samane

+0

@Samane,實際上不知道它。 –

回答

1

我在Tomcat的7有同樣的問題,我將完整的JSF Maven依賴解決它(我是缺乏jsf-impl):

<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> 

我猜測Tomcat 8也一樣。

+0

願你的生活一直伴隨你。你剛剛爲我結束了3個小時的奮鬥。 – greenskin