我的筆記本電腦上有 Java 8。我使用 java.time 庫編寫了一個小代碼片段,以使用 Eclipse IDE v4.9(2018-09 版本)計算應用程序處理時間。該項目使用Java 1.6 編譯器版本。然后我在我的筆記本電腦上運行該應用程序,它運行時沒有任何錯誤,并且產生了預期的輸出。然后我使用 Java 1.6 編譯器將應用程序導出到一個 war 文件中,以便在運行 Java 1.7 vm 的 tomcat 6 服務器中運行它。我遇到了以下情況:日志文件中沒有錯誤。日志級別設置為調試。應用程序處理數據庫行并基于一些邏輯,插入 4 個不同的數據庫表。在輪詢輸入數據庫表時,應用程序沒有選擇有效的輸入行。我在筆記本電腦上安裝了 Java 7,將 Java 7 設置為工作區 JRE,代碼片段引發了編譯錯誤。我的問題是,當我使用 Java 6 編譯器基于 Java 8 庫編譯代碼時,構建不應該失敗嗎?在整個練習過程中,應用程序從未出現任何錯誤,它在我的筆記本電腦上成功運行并產生了預期的輸出(顯然是由于我的筆記本電腦有 Java 8 vm)。我發現問題根本原因的方式純屬意外。這是 Java 錯誤還是已知問題?更新:我不是在尋找問題的解決方案。我正在尋找 Java 編譯器行為的解釋。
如果我使用 Java 8 庫編寫應用程序并嘗試使用 Java 6 編譯器對其進行編譯
慕工程0101907
2022-07-20 16:48:31