Я использую Java 14 в качестве платформы Java по умолчанию для Netbeans 11.3 (для netbeans_jdkhome установлен мой Java 14 JDK) и пытаюсь использовать функцию предварительного просмотра в простом приложении Java. Я установил исходный уровень на 14 и установил --enable-preview в качестве аргумента компилятора. Код компилируется без ошибок.
Однако, когда я пытаюсь запустить его в Netbeans, он жалуется, что основная версия файлов .class - 57, в то время как среда выполнения хорошо работает только с 58 файлами и функциями предварительного просмотра. Вот ошибка:
java.lang.UnsupportedClassVersionError: javaapplicationtest14 / JavaApplicationTest14 (версия файла класса 57.65535) был скомпилирован с функциями предварительного просмотра, которые не поддерживаются. Эта версия среды выполнения Java распознает только функции предварительного просмотра для версии файла класса 58.65535.
Я проверил основную версию файлов .class, и их действительно 57. Есть идеи, почему мой проект не компилируется в уровень Java 14? Я использую сборку Ant.
javap
из командной строки, я получаюminor version: 65535 major version: 58
, чего я и ожидал. Как вы определяете, что ваши файлы классов действительно имеют версию 57? - person skomisa   schedule 22.03.2020