亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在較高版本中運行 java 代碼,在較低 java 版本中編譯

在較高版本中運行 java 代碼,在較低 java 版本中編譯

慕妹3146593 2021-10-28 14:14:28
我有 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 向后兼容以前的版本,除了一些非常罕見的二進制不兼容情況外,毫無疑問。

有關這方面的更多信息,您可以參考下面的堆棧溢出鏈接——


查看完整回答
反對 回復 2021-10-28
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

最近我做了類似的事情,但如果需要,我們更新了代碼/依賴項。

我建議首先重新編譯代碼庫,因為這會很快告訴您它或任何依賴項是否不支持較新的 Java 版本。如果編譯成功,則部署到測試環境并執行健全性、回歸等。

我希望你不是在談論直接部署到生產環境:)


查看完整回答
反對 回復 2021-10-28
  • 2 回答
  • 0 關注
  • 299 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號