Код Visual Studio извлекает UnsupportedClassVersions при запуске - PullRequest
0 голосов
/ 08 мая 2020

В коде Visual Studio:

У меня правильно настроен OpenJDK 14. Когда я пытаюсь запустить свой проект, я получаю следующую ошибку: java .lang.UnsupportedClassVersionError: (версия файла класса 56.65535) был скомпилирован с функциями предварительного просмотра, которые не поддерживаются. Эта версия Java Runtime распознает только функции предварительного просмотра для версии файла класса 58.65535

Этот класс является зависимостью и хранится в репозитории Nexus, весь этот проект был скомпилирован с JDK 12. Поэтому я стараюсь чтобы удалить OpenJDK 14, чтобы установить OpenJDK 12, но если я сделаю это, проект не сможет построить, потому что «Функции предварительного просмотра включены на недопустимом уровне выпуска исходного кода 12, предварительный просмотр может быть включен только на уровне исходного кода 14».

Но тот же проект правильно собран, например, в Eclipse.

Ответы [ 2 ]

0 голосов
/ 04 июня 2020

Я решил эту проблему, выполнив следующие действия:

1 - Установите JDK 12 и настройте его. 2 - Проект был импортирован из Eclipse, поэтому в настройках есть все связанные файлы. Один из них - "org.eclipse.jdt.core.prefs" go и измените ie значение "org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures" на отключенное.

Похоже, VSCode считывает все настройки и воспроизводит поведение Eclipse IDE.

0 голосов
/ 02 июня 2020

Можете ли вы попробовать выполнить команду «Java: очистить рабочую область Java языкового сервера»?

Или

Обновление расширения java до последней версии.

Как вы описали, в первый раз вы пытаетесь использовать JRE 14 для запуска файла, который был скомпилирован с помощью javac 12, затем вы переходите на JDK 12 и хотите использовать JRE 12 для запуска файла. Но вы получаете сообщение об ошибке «Функции предварительного просмотра включены из недопустимого источника ...». Похоже, причиной этого является кеш. Или вы использовали в своем проекте некоторые функции предварительной версии JDK 14?

...