2013-09-01 46 views
-1

我想知道如何在Eclipse中使用JSF 2.2(而不是2.0.2)?添加JSF 2.2的結果「找到多個版本的所需類javax.faces.FactoryFinder」

好像沒有正式發佈(僅majorra 2.0和MyFaces的2.0.2可用) ,當我加入JSF 2.2 IMPL和API手動(項目Facet),它告訴我:「發現的多個版本所需的類javax.faces.FactoryFinder。「。 當我刪除舊的(myfaces 2.0.2)tomcat失敗...

有沒有辦法讓JSF 2.2在eclipse中運行爲默認?

+0

這與JSF 2.1,2.0,1.2,1.1和1.0的方式相同。 「多個版本」僅僅意味着您將Mojarra(jsf-impl.jar)與MyFaces(myfaces-impl.jar)混合使用。在使用其他版本時,您會遇到完全相同的問題。 – BalusC

回答

1

如果已啓用方面,則可以將庫添加到類路徑中,或者在jsf偏好設置中配置它。在第一種方式中,您不告訴Eclipse您使用的是JSF,第二種方式是告訴它,您可以選擇自己配置類路徑,或者讓Eclipse選擇要使用哪個JSF jar來包含它們。

首先你需要從Mojarra'sMyFaces'es網站下載罐子。截至今天,MyFaces沒有實現2.2版本。

若要將庫添加到類路徑中,請右鍵單擊該項目並轉至屬性,Java構建路徑。然後點擊添加JAR添加外部JAR文件,具體取決於您擁有jar的位置並添加jsf-api和jsf-impl jar。

enter image description here

否則,如果您有項目配置爲JSF項目,首先您必須啓用JSF方面,檢查項目構面。然後Eclipse將在Project Facets內創建一個子菜單,讓您配置JSF。您可以選擇禁用庫配置並做到這一點以前的方式或選擇用戶庫

enter image description here

然後點擊書籍圖標,您可以添加一個新的用戶庫。一旦添加,您只需添加所需的罐子。請記住,您需要jsf-api和jsf-impl jar才能使其工作,因爲Tomcat是一個普通的servlet容器,並且不包含任何開箱即用的JSF實現。

或者,您也可以將jsf-impl直接放在您的Tomcat共享庫文件夾中。您應該將其放在$CATALINA_HOME/lib中,並且您部署的每個應用程序都將使用相同的實現。通過這種方式,您可以僅從項目和代碼中引用jsf-api,並將實現本身放入服務器的類路徑中。

相關問題