2015-07-09 146 views
1

我最近已經放棄了Java 6與我已經工作了幾年的程序的兼容性。我嘗試做出一個彈出窗口,通知用戶必須在主類中進行升級,但是當該jar在Java 6系統上運行時,由於版本不兼容,它在到達之前會失敗。需要通知用戶升級Java

有沒有辦法在Java 6機器上的某個早期點彈出警告消息,同時仍編譯爲更高版本?就目前而言,試圖打開它的用戶只會遇到沉默的失敗。

+0

既然你打包應用程序,您可以包括一個通知(如在發行說明,或在下載頁)說Java 6不再被支持,他們應該遷移到Java 7或更新的版本?嘗試從應用程序執行該操作只會在您仍然與Java 6兼容的應用程序上執行此操作。 – Makoto

+1

如果您的程序是單個jar,這可能是一個愚蠢的想法,但是您可以製作某種啓動器jar與6(或更低)兼容,並檢查是否安裝了正確的版本。不知道你的人口統計數據是什麼,但只是將其包含在版本說明中或其他內容就足夠了。 –

+0

發射罐可能最終成爲我必須做的,但我希望有更清潔的東西。不幸的是,我的很多用戶羣在技術上非常有限,他們中的很多人甚至都沒有意識到Java有版本。我試圖發出通知的部分原因是爲了讓我可以展示他們如何升級的簡單說明。 –

回答

4

創建一個檢查當前Java版本的Java 6 facade類,如果它是Java6,則告訴它們必須升級。如果當前版本> Java 6,那麼讓他們啓動應用程序。

您可以使用下面的代碼片段檢測當前版本:

System.getProperty("java.version");

+0

感謝您的迴應!我搞砸了這一點,並且無法弄清楚如何在J6中創建一個類,然後與J7構建其餘的程序。你能指出我可能解釋的任何事嗎? –

+0

hrm ...現在我想到了,你可以從j6 jvm啓動j7 jvm嗎?你可以編寫一個調用j6外觀的腳本,然後根據輸出結果調用j7 jar或退出。 – bakoyaro