2010-04-15 91 views
6

如果這個問題很愚蠢,請原諒我。假設我使用WebSphere應用程序服務器使用Spring框架和MS SQL-Server數據庫開發J2EE Web應用程序。我稍後爲這個應用程序創建一個WAR文件。戰爭文件可以部署在任何服務器上?

我可以在Tomcat服務器上部署這個WAR文件,而不需要更改代碼嗎?或者我的問題是可以通過只提供Tomcat服務器的虛擬主機託管嗎?如果是,是否需要更改代碼?

如果它不能部署,你能建議我該怎麼做,因爲我還沒有開發任何應用程序在tomcat服務器上。我開發的所有應用程序都使用RAD在Websphere App Server上。

+1

部署戰爭文件!是啊,隊長! – AaronLS 2010-04-15 04:22:30

+0

@AaronLS這裏來NarWAR! – cdeszaq 2012-02-01 18:42:06

回答

4

原則上,WAR文件應該可以在Java EE服務器上移植。在實踐中,我不會期望很多可移植性問題,但它很大程度上取決於應用程序的細節以及是否嚴格遵守Java EE標準。此外,只是將您的應用程序部署到不同的環境(您的開發機器與託管環境)可能會遇到困難,而不是像這個環境那麼多的WAS v Tomcat。

可能出現的問題,情形產生的遞減順序:

1)。你是否瞄準了相同版本的標準。 2)。您是否使用了Java EE規範之外的任何特定於WebSphere的擴展?大多數供應商有一些額外的好東西,你有沒有使用任何。 3)。您已經對目標平臺上以不同方式訪問的資源(文件,目錄,打印機,數據庫)進行了硬編碼。 4)。你是否遇到了規範歧義? WAS行爲與Tomcat行爲存在差異嗎?

5)。你依賴於某些東西,或者你的平臺確實很快,而你的平臺卻沒有。

我對可移植性的一般規則是:始終在預期的部署平臺範圍內儘早進行測試。幾乎總是有一些陷阱。如果你發現得早,你可以用一點痛苦來解決。