2013-03-01 188 views
0

發生了一個非常奇怪的問題。 我在本地計算機上開發了一個在Tomcat 6上的JSF和Primefaces下的應用程序。一切都很完美。 但是,當我在遠程tomcat 6(在企業RedHat Linux下)上部署應用程序時,primefaces停止工作。最有趣的部分: 響應需要很多時間,並且它返回生成的html(所以它看起來像它稱爲生命週期)。但沒有組件被渲染(有大量的HTML與JavaScript函數混合) - p:tabView和其他組件的內容呈現爲簡單的文本行。 但是至於Javascript,它聲明 - ReferenceError:PrimeFaces沒有定義。 Catalina日誌文件沒有任何說明。Tomcat 6,Primefaces,JSF

我不知道它可能是什麼。有什麼想法嗎?

+1

你把primefaces jar放在lib foldrr和jsf jar/s中嗎? – Daniel 2013-03-01 19:25:55

+1

正如Daniel指出的那樣,看起來您在Web項目的WEB-INF/lib中沒有JSF/PrimeFaces庫。順便說一句,您是否使用NetBeans製作此項目? – 2013-03-01 19:33:26

+0

我添加了primefaces jar到WEB-INF/lib。和1個主題瓶。和javax.faces.jar。共3罐。我在eclipse中開發它。 – 2013-03-01 20:04:36

回答

1

1)檢查你的項目在eclipse構建路徑中的依賴關係。驗證它們全部在遠程服務器中可用。構建路徑中的所有依賴項應該被複制到你正在生成的war文件中的lib文件夾中(除非它們像tomcat,jdk等那樣是運行庫)。

2)驗證你的web.xml和faces-config.xml在你的eclipse中是一樣的,而war在遠程部署。

如果它不起作用,那麼你可以比較你的eclipse中的臨時文件夾和你部署的戰爭包含的所有東西都在本地。

您可以通過您的工作空間

0

下尋找在Eclipse項目文件中找到您的局部戰爭的問題是爲Tomcat的安全性。它不允許任何重定向,所以js文件在鏈接中列出,但沒有任何提取。問題通過重新安裝tomcat解決。