簡體   English   中英

java13 和 Eclipse 奇怪的行為

[英]java13 and Eclipse strange behaviour

我正在嘗試在 Linux 上使用 Java 13 和 Eclipse。 我正在嘗試創建一個可以在機器之間移動的“便攜式”java+eclipse 文件夾。 I have downloaded and unzipped Java 13 from https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html

Eclipse from https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/S-4.13RC1-201908281800/eclipse-SDK-4.13RC1-linux-gtk-x86_64.tar.gz

在 eclipse 市場內,我已經安裝了https://download.eclipse.org/eclipse/updates/4.13-P-builds

我已將 jdk 設置為 jdk13 文件夾。 結果是 Eclipse 可以編譯我的 Java13 代碼,但不能運行它。 當我嘗試跑步時,我得到

[..]/EclipseJava13/jdk-13/bin/java: symbol lookup error: [..]/EclipseJava13/jdk-13/bin/java: undefined symbol: JLI_InitArgProcessing

我可以使用命令從命令行編譯和運行 Java13 沒有問題:

../../../jdk-13/bin/javac --release 13 --enable-preview main/Main.java
../../../jdk-13/bin/java --enable-preview main.Main

如果我剪切粘貼由 eclipse 生成的 *.class 我可以使用命令運行它們

../../../jdk-13/bin/java --enable-preview main.Main

沒問題。 因此 Eclipse 正在識別 Java 13 並正確編譯 Java 13 代碼。

但是......當我嘗試從 Eclipse 內部運行時,我得到了那個錯誤。 我不確定下一步該怎么做。

好的,我發現了這個問題。 Eclipse 本身就是一個 Java 程序。 在我的機器上,我還有 Java8 eclipse 正在使用 Java8 運行。 Java8 在環境中預加載了包含符號 JLI_InitArgProcessing 的庫版本。 因此,當 Java 13 在同一環境中運行時,它試圖重用此類庫的緩存版本。 如果我使用Java13啟動eclipse,那就沒有問題了。

您不需要添加--release 13與“ Java 13 Support for Eclipse 2019-09

它指的是Eclipse R-4.13-201909161045/ ,確實有官方Java 支持

該版本特別包括以下 Java 13 功能:

請參閱“維基 Java13/示例”。

https://wiki.eclipse.org/images/9/9b/FileAddJ13.png

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM