創建啓動配置時,您可以指定執行環境,更具體地使用哪種環境?我認爲它最終成爲Java的一個參數?運行配置中的執行環境設置
如果我們有一個使用JavaSE-1.8執行環境構建的插件,並使用該插件運行應用程序並使用執行環境JRE-1.1運行它,會產生什麼後果?
創建啓動配置時,您可以指定執行環境,更具體地使用哪種環境?我認爲它最終成爲Java的一個參數?運行配置中的執行環境設置
如果我們有一個使用JavaSE-1.8執行環境構建的插件,並使用該插件運行應用程序並使用執行環境JRE-1.1運行它,會產生什麼後果?
說明:
它將無法運行。執行環境表示代碼旨在在某個Java實現中執行。這會影響到:源代碼編譯到的字節碼版本和代碼中使用的Java類庫。該設置由IDE使用(不確定所有的IDE都使用它 - Eclipse),以確保您只編寫可以在給定EE中執行的代碼。
字節碼不兼容例如:
的Java 8中添加拉姆達的支持 - 如果你使用它你的字節碼將有labmda相關的指令,它不會在執行較舊的JVM。
JCL不相容例如:
爪哇8引入URLPermission類。如果您在代碼中引用它,並嘗試在較舊的Java類庫中運行它,您將得到一個異常。即使你將代碼編譯成較舊的字節碼版本。在老JCL中,這個類是無法訪問的。
鏈接:
Eclipse社區有很多關於Java執行環境資源 - 瞭解它here。
1.8至1.1?如此多的版本不和諧?無論如何,啓動配置具有關於jre路徑的數據,依賴性jar和存儲程序所需參數的文件位置。
如果您更改env,則您的代碼可能與源代碼不兼容,或者您可能會收到類似'文件未找到/未找到類別'的錯誤。
有道理。結果發現,在我的特殊情況下,一個簡單的Java應用程序開始使用Java 8轉換爲已啓動的Eclipse。因此,JRE1-1的執行環境從未與我們的插件真正相關。 – Fredrik 2014-09-04 09:45:30