2013-03-27 53 views
0

當我將我的JSF 1.2項目導出爲WAR文件時,它在Eclipse Indigo中未正確創建。也就是說,當我再次導入並運行它時,它會在「FacesContext not found」錯誤中結束。這是如何造成的,我該如何解決這個問題?以WAR文件格式導出JSF項目在RuntimeException中結束:無法找到FacesContext

+1

爲什麼你認爲特定的錯誤與WAR輸出有關?這個特定的錯誤只是調用一個錯誤的URL的結果。另見[JSF RuntimeException:找不到FacesContext](http://stackoverflow.com/questions/2424455/jsf-runtimeexception-cannot-find-facescontext) – BalusC 2013-03-27 13:57:23

+0

我認爲這樣,因爲當我將它導出到faces-config.xml文件中有多個選項卡,例如「ManagedBean」,「導航規則」,「源代碼」等。當我將其導入時,faces-config.xml中只有一個選項卡。那就是「源泉」。任何想法?我是新來的,我錯過了任何基本的東西? – Haramoz 2013-03-27 14:10:39

+0

這與具體問題無關。您是否在瀏覽器的地址欄中使用了正確的網址?即實際上與'FacesServlet' URL模式相符的那個?您是否閱讀並理解了我之前評論中鏈接問題的答案? – BalusC 2013-03-27 14:13:29

回答

0

我再次檢查,當我再次導入並運行url模式丟失/ faces /。當我手動添加它時,它會很好。有沒有什麼辦法可以讓導入文件中的url模式也一樣?

你太過依賴IDE來爲你做所有必要的魔法了。您的初始項目設置了JSF項目構面,並且您正在運行項目使用內置瀏覽器在服務器上運行,而不是僅啓動服務器並在外部瀏覽器中自己導航到該項目。

JSF項目方面是一個Eclipse特定的功能,它與JSF/Servlet規範完全無關。這些信息無處存儲在WAR中。再次導入時,它將成爲未設置任何特定項目構面的默認動態Web項目。您需要右鍵單擊項目,然後轉到項目方面部分並手動添加JSF項目構面。這樣,IDE就會意識到該項目是一個JSF項目,並將執行必要的魔術,例如在運行期間自動內聯目標URL中的FacesServlet映射。

相關問題