Gradle 5 и IntelliJ 2018.3. Нераспознанная опция: --add-opens или java.base.java.lang = ALL-UNNAMED - PullRequest
0 голосов
/ 16 января 2019

У меня сложный набор проектов, созданных в Gradle 4.10.3. Я могу построить их из командной строки, но я также могу импортировать их в IntelliJ 2018.3 Ultimate без особых проблем.

Когда я обновляю свой Gradle до 5.1.1, проекты все еще строятся нормально из консоли, однако я больше не могу импортировать (или обновить) проект в IntelliJ: (

Конфигурация проходит нормально, но процесс демона не может быть запущен в IntelliJ. Если в настройках проекта IntelliJ установить Gradle JVM на Java 8, я получу сообщение об ошибке:

Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Unrecognized option: --add-opens

Если я установлю Gradle JVM на Java 11 в настройках проекта IntelliJ, я получу другую ошибку:

Error: Could not find or load main class java.base.java.lang=ALL-UNNAMED
Caused by: java.lang.ClassNotFoundException: java.base.java.lang=ALL-UNNAMED

Как только я выполню gradlew wrapper --gradle-version=4.10.3 (измените оболочку на 4.10.3), плагин IntelliJ снова будет работать нормально.

Если я добавлю в сценарии задание gradle idea (плагин idea gradle), то оно прекрасно выполняется и из консоли с версией 5.1.1.

Удаление настроек .idea из папки пользователя не помогло. Чистый импорт тоже не помог. Все возможные настройки внутри IntelliJ, связанные с Gradle (включая все настройки, связанные с оберткой), будут опробованы. Ничего не помогло: (

Проблема кажется такой тривиальной, но я не могу найти решение в течение нескольких дней :( Откуда взялись эти --add-opens? Как это предотвратить?

1 Ответ

0 голосов
/ 17 января 2019

Причиной был файл gradle.properties в папке .gradle в домашнем хранилище пользователя. Простое удаление файла решает эту проблему с IntelliJ.

Тем не менее, было бы неплохо узнать причину этого ...

Очень странная ошибка!

Кредиты: IntelliJ IDEA Gradle Sync: проблема с установкой дома Java в Gradle для некоторых JDK

...