java13和Eclipse奇怪的行为
我正在尝试在Linux上使用Java13和Eclipse。 我正在尝试创建一个“可移植的”java+eclipse文件夹,它可以在机器之间移动。 我已经下载并解压缩了 Java 13来自 https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html
在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内部运行时,我得到了这个错误。 我不知道下一步该怎么办
# 1 楼答案
您不需要将
release 13
与“Java 13 Support for Eclipse 2019-09”一起添加它指的是Eclipse R-4.13-201909161045/,它确实有官方的Java support
见“Wiki Java13/Examples”
# 2 楼答案
好的,我发现了这个问题。 Eclipse本身是一个Java程序。 在我的机器上,我也有Java8 eclipse使用Java8运行。 Java8在环境中预加载了一个包含符号JLI_InitArgProcessing的库版本。因此,当Java13在同一环境中运行时,它试图重用这种库的缓存版本。 如果我使用Java13启动eclipse,那么就没有问题了