java13 и странное поведение Eclipse
Я пытаюсь использовать Java 13 с Eclipse в Linux. Я пытаюсь создать "портативную" папку 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
Если я вырезал и вставил *.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 / Примеры ".