有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java13和Eclipse奇怪的行为

我正在尝试在Linux上使用Java13和Eclipse。 我正在尝试创建一个“可移植的”java+eclipse文件夹,它可以在机器之间移动。 我已经下载并解压缩了 Java 13来自 https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html

蚀自 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

如果我剪切粘贴*。类,我可以使用命令运行它们

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

没问题。因此Eclipse正在识别Java13并正确编译Java13代码

但是。。。当我试图从Eclipse内部运行时,我得到了这个错误。 我不知道下一步该怎么办


共 (2) 个答案

  1. # 2 楼答案

    好的,我发现了这个问题。 Eclipse本身是一个Java程序。 在我的机器上,我也有Java8 eclipse使用Java8运行。 Java8在环境中预加载了一个包含符号JLI_InitArgProcessing的库版本。因此,当Java13在同一环境中运行时,它试图重用这种库的缓存版本。 如果我使用Java13启动eclipse,那么就没有问题了