繁体   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