Eclipse не может открывать файлы java -> Невозможно сделать защищенный окончательный java.lang.Class java.lang.ClassLoader.defineClass
Получение следующей ошибки:
An error has occurred. See error log for more details.
Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @1d1c37d5
9 ответов
Обновление до плагина Lombok 1.18.22 привело к тому, что эта проблема у меня исчезла. Я попытался добавить флаг --add-opens, но программа запуска eclipse отказалась от этого. ИМХО, это просто результат несовместимости между Java 17 и плагином Lombok Eclipse IDE.
Добавьте следующие строки в конец
eclipse.ini
файл
--illegal-access=warn
--add-opens java.base/java.lang=ALL-UNNAMED
Единственное, что у меня сработало, это загрузка ломбока напрямую с веб-сайта ломбока вместо использования того, который доступен в папке maven.
В моем случае я решил изменить версию Java из 16 лучших 11.
Добавив эту строку:
--illegal-access=warn
--add-opens java.base/java.lang=ALL-UNNAMED
в моем случае eclipse не позволяет начинать. Версия: 2021-03 (4.19.0) Идентификатор сборки: 20210312-0638
Я также столкнулся с той же проблемой после настройки ломбока вSTS 4.17.2.RELEASE
.
Я удалил нижеприведенные свойства из ini-файла.
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/sun.security.ssl=ALL-UNNAMED
-Dsun.java.command=SpringToolSuite4
Я пробовал много решений, но не работал. Итак, я сравнил со своей старой версией sts.
Честно говоря, я не знаю истинной причины.
Кажется, проблема с плагином lombok. Я удалил его из файла eclipse.ini, и это решило проблему.
Удалено ниже строки:
-javaagent:C:\<location>\eclipse-jee-2022-03-R-win32-x86_64\lombok.jar
вам нужно будет проверить, на какой java exe указывает ваша IDE в файле .ini. Другими словами, просто укажите файл eclipse.ini в нужной папке java.exe, и ошибка исчезнет. Это работает для меня в Spring STS, и «может быть» это же средство будет работать и в Eclipse.
У меня была та же проблема, о которой говорилось выше. Когда я загрузил новую версию lombok.jar, моя проблема была решена.
В моем случае ничего выше не работает для конкретного проекта.
- Импортируйте существующий проект maven или создайте проект maven
- Перейдите в проводник проекта и щелкните правой кнопкой мыши файл pom.xm, затем выберите «Запустить от имени maven install».
- а дальше что хотите.
Надеюсь, это послужит вашей цели. Вы можете загрузить пример проекта весенней загрузки из примера проекта весенней загрузки.
Или вы можете запустить проект maven из терминала или cmd. Просто перейдите в корневую папку проекта, а затем запустите задачу maven, например maven clean install . Удачного кодирования :)