2011-05-04 202 views
1

到目前爲止,我一直在Tomcat 6.0上運行JSF 1.2應用程序。 我現在已經在Tomcat的另一個實例(用於測試)上啓動了一個新的JSF 2.0項目。在同一個Tomcat服務器上部署JSF 1.2和JSF 2.0應用程序

我想在主Tomcat 6.0服務器上部署新的JSF 2.0項目,並面臨着「告訴」新項目使用2.0庫,而舊項目應該繼續使用舊庫的挑戰。

所有庫都是通用的每個服務器(雖然構建路徑顯然是每個項目)。 我想知道的是如何告訴項目使用JSF 2.0 API。

謝謝!

回答

3

Tomcat並未隨JSF一起提供,因此只需爲每個項目分配自己正確的版本化JSF庫在/WEB-INF/lib應該沒有任何問題。

更新我忽略了JSF 1.2庫是由Tomcat自己提供的。在這種情況下,您需要將Tomcat中的JSF 1.2庫升級到JSF 2.0庫。 JSF 2.0完全向後兼容JSF 1.2。對於Tomcat服務器,不可能以某種方式配置Web應用程序,以使用Web應用程序提供的庫來覆蓋Tomcat提供的庫。你將最終在類路徑中發生衝突。

+0

我們部署時沒有庫。正如我所提到的,「所有的庫都是每臺服務器都很常見」。 – Ben 2011-05-04 12:20:07

+0

從一開始這是一個壞主意。我不太明白吉寶的答案如何解決這個問題。由Tomcat提供的仍然優先於webapp中的。更成熟的appservers有特定的配置設置,讓webapps覆蓋服務器提供的庫,另請參見http://stackoverflow.com/questions/5815623/jsf-2-issues-in-application-servers無論如何,你應該能夠繼續使用您的JSF 1.2應用程序,同時將Tomcat-libs從1.2更新到2.0。 JSF 2.0完全向後兼容JSF 1.2。 – BalusC 2011-05-04 12:25:23

+0

這樣做是爲了減少部署的大小。 還有別的辦法嗎?我沒有看到如何通過構建路徑引用庫並不比在war文件中包含實際庫更好。 (看起來像一個庫複製混亂) 僅僅是因爲沒有更好的解決方案? – Ben 2011-05-04 12:31:23

0

那麼你可以把JSF罐子出來Tomcat的類路徑&的包,每個WAR,比其他所需要的版本,我不認爲你將能夠做到這一點...

相關問題