到目前爲止,我一直在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。
謝謝!
到目前爲止,我一直在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。
謝謝!
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提供的庫。你將最終在類路徑中發生衝突。
那麼你可以把JSF罐子出來Tomcat的類路徑&的包,每個WAR,比其他所需要的版本,我不認爲你將能夠做到這一點...
嘛。 。您只需要在您的類路徑中提供必需的lib,並且您需要執行these changes in your configurations並且它應該選取正確的lib
我們部署時沒有庫。正如我所提到的,「所有的庫都是每臺服務器都很常見」。 – Ben 2011-05-04 12:20:07
從一開始這是一個壞主意。我不太明白吉寶的答案如何解決這個問題。由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
這樣做是爲了減少部署的大小。 還有別的辦法嗎?我沒有看到如何通過構建路徑引用庫並不比在war文件中包含實際庫更好。 (看起來像一個庫複製混亂) 僅僅是因爲沒有更好的解決方案? – Ben 2011-05-04 12:31:23