2014-09-02 46 views
1

創建啓動配置時,您可以指定執行環境,更具體地使用哪種環境?我認爲它最終成爲Java的一個參數?運行配置中的執行環境設置

如果我們有一個使用JavaSE-1.8執行環境構建的插件,並使用該插件運行應用程序並使用執行環境JRE-1.1運行它,會產生什麼後果?

回答

2

說明:

它將無法運行。執行環境表示代碼旨在在某個Java實現中執行。這會影響到:源代碼編譯到的字節碼版本和代碼中使用的Java類庫。該設置由IDE使用(不確定所有的IDE都使用它 - Eclipse),以確保您只編寫可以在給定EE中執行的代碼。

字節碼不兼容例如:

的Java 8中添加拉姆達的支持 - 如果你使用它你的字節碼將有labmda相關的指令,它不會在執行較舊的JVM。

JCL不相容例如:

爪哇8引入URLPermission類。如果您在代碼中引用它,並嘗試在較舊的Java類庫中運行它,您將得到一個異常。即使你將代碼編譯成較舊的字節碼版本。在老JCL中,這個類是無法訪問的。

鏈接:

Eclipse社區有很多關於Java執行環境資源 - 瞭解它here

+0

有道理。結果發現,在我的特殊情況下,一個簡單的Java應用程序開始使用Java 8轉換爲已啓動的Eclipse。因此,JRE1-1的執行環境從未與我們的插件真正相關。 – Fredrik 2014-09-04 09:45:30

1

1.8至1.1?如此多的版本不和諧?無論如何,啓動配置具有關於jre路徑的數據,依賴性jar和存儲程序所需參數的文件位置。

如果您更改env,則您的代碼可能與源代碼不兼容,或者您​​可能會收到類似'文件未找到/未找到類別'的錯誤。

相關問題