我有 java EE 工件,如 .jar 、 .war 、 .ear 文件在 java 1.6 版本中編譯和運行。我想在最新的 Java 版本(如 Java 1.8)中運行它們(.ear 文件 [.jar + .war])??紤]到遷移到新的 Java 版本,哪個選項是最好的。1) 在 1.8 中重新編譯代碼并部署到應用程序服務器- 更安全一些。2) 只需部署到 java 1.8- 不需要代碼編譯(意味著使用 java 1.6 生成的 .ear 文件)。.ear 文件可以安全地部署到最新的 java 1.8 版本- 也許我們最終不會遇到運行時問題?因為這是一個生產代碼庫,沒有開發人員。因此在任何一種情況下都沒有代碼更改,唯一的更改是 java 版本。我更喜歡使用 Option-1,因為在更高版本的現有 Java 類中進行編譯以避免任何運行時問題。有什么想法嗎 !或在這方面的其他有用選項。
2 回答

溫溫醬
TA貢獻1752條經驗 獲得超4個贊
正如@Stultuske 提到的,你只告訴在任何一種情況下都不能更改代碼,那么你的第一個案例就不是一個有效的案例。
但無論如何,根據 java(Oracle) 兼容性規范,Java 8 向后兼容以前的版本,除了一些非常罕見的二進制不兼容情況外,毫無疑問。
有關這方面的更多信息,您可以參考下面的堆棧溢出鏈接——

慕森王
TA貢獻1777條經驗 獲得超3個贊
最近我做了類似的事情,但如果需要,我們更新了代碼/依賴項。
我建議首先重新編譯代碼庫,因為這會很快告訴您它或任何依賴項是否不支持較新的 Java 版本。如果編譯成功,則部署到測試環境并執行健全性、回歸等。
我希望你不是在談論直接部署到生產環境:)
添加回答
舉報
0/150
提交
取消