java13 и странное поведение Eclipse

Я пытаюсь использовать Java 13 с Eclipse в Linux. Я пытаюсь создать "портативную" папку java+eclipse, которую можно перемещать между машинами. Я загрузил и разархивировал Java 13 с https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html

Eclipse из 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

Если я вырезал и вставил *.class, созданный eclipse, я могу запустить их с помощью команды

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

нет проблем. Таким образом, Eclipse распознает Java 13 и правильно компилирует код Java 13.

Но... когда я пытаюсь запустить из Eclipse, я получаю эту ошибку. Я не знаю, что делать дальше.

2 ответа

Хорошо, я обнаружил проблему. Сам Eclipse - это программа на Java. На моей машине у меня также было Java8eclipse, работающее с использованием Java8.Java8 предварительно загружала версию библиотеки, содержащую символ JLI_InitArgProcessing в среде. Таким образом, когда Java 13 запускалась в той же среде, она пыталась повторно использовать кешированную версию такой библиотеки. Если я запустил eclipse на Java13, проблем не возникнет.

Вам не нужно добавлять --release 13с " Поддержка Java 13 для Eclipse 2019-09 "

Это относится к Eclipse R-4.13-201909161045/, у которого есть официальная поддержка Java.

Релиз, в частности, включает следующие функции Java 13:

См. " Wiki Java13 / Примеры ".

Другие вопросы по тегам