2011-11-14 34 views
1

我試圖建立在Eclipse(靛藍SR1)的Web項目MacOSX上與在Tomcat中拋出: 的Tomcat 7.0.22 JSF 2.0異常在Eclipse動態Web使用JSF項目時

這是一個動態Web項目,我通過項目屬性添加了JSF項目構面。

當加入JSF項目構面,我得到使用選其一:鑽嘴魚科2.0.3或Apache MyFaces的2.0.2

如果讓我選擇鑽嘴魚科,並嘗試啓動Tomcat(從Eclipse)我得到的以下情況除外:

java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory() 

如果讓我選擇的MyFaces我得到以下異常:

java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.application.ApplicationFactory 

基於其他答案在這裏我沒有罐子:■添加到WEB-INF/lib文件夾而在項目的構建路徑包括通過Eclipse中只有庫本身添加:

  • 的Apache Tomcat V7.0
  • 的EclipseLink 2.3.0
  • JSF 2.0(Apache的MyFaces的JSF睿2.0 API 2.0.2 )
  • MySQL JDBC驅動程序

項目本身是最小的,包含兩個XHTML的文件,但還沒有豆。

任何想法?

回答

0

If I choose Mojarra and try to start the Tomcat (from within Eclipse) I get the following exception:

java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()

此異常表明,你已經在web應用程序的運行時類路徑不同servletcontainer化妝/版本,它與目標運行時本身的JSP API衝突的JSP API/IMPL JAR文件。


If I choose MyFaces I get the following exception:

java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.application.ApplicationFactory

此異常表明您已經的不同JSF化妝/版本JSF IMPL JAR文件的Web應用程序的運行時類路徑的其他地方與實際裝載的JSF IMPL衝突。


這兩個例外都歸結爲webapp的運行時類路徑很髒。除了/WEB-INF/lib文件夾 - 看起來像是空的,正如你所說 - webapp的運行時類路徑覆蓋了Tomcat/lib,JRE/libJRE/lib/ext。你應該確保你有而不是你自己添加了任何JAR。刪除它們,如果有的話。如有必要,刪除/卸載/重新安裝Tomcat和/或JRE安全地進行安裝。然後你應該去掉他們的庫,除非你真的明白你在做什麼。

我認爲您從Glassfish服務器的javaee.jar您的webapp的運行時類路徑中的某個地方。這至少可以解釋兩個例外,因爲它包括標準的JSP API和Mojarra API。

+0

仍然沒有成功。我有一個乾淨的Tomcat安裝,我從來沒有篡改過JRE/lib或JRE/lib/ext。當Eclipse構建併發布項目時,它將以下內容放入wtpwebapps/JSFTest/WEB-INF/lib /:com.sun.tools.xjc_2.2.0.jar中 com.sun.xml.bind_2.2.0.v201004141950.jar eclipselink的.jar EL-RI-1.0.jar javax.activation_1.1.0.jar javax.mail_1.4.0.jar javax.persistence_2.0.3.jar javax.xml.bind_2.2.0.v201005080402.jar javax.xml .stream_1.0.1.v201004272200.jar JSF的API-2.1.0-b03.jar JSF的api.jar文件 JSF的參數impl-2.1.0-b03.jar JSF-impl.jar中 JSP-API-2.1 .jar jstl-1.2.jar servlet-api-2.5.jar – user874490

相關問題