IntelliJ IDEA и Gradle - нельзя применить к '(groovy.lang.Closure)'
У меня есть файл Gradle, который, когда я загружаю его в IntelliJ IDEA 14.1.5, показывает ошибки IDE для всего файла. А именно, все ошибки выглядят либо:
ошибки java.lang.String
![java.lang.String errors]()
или
groovy.lang.Closure errors
![groovy.lang.Closure errors]()
Я попытался очистить содержимое файла и написать только верхнюю строку:
group 'com.me.blah'
но даже это приводит к ошибке.
Для контекста - это отдельный модуль в более крупном проекте SpringBoot. Этот модуль представляет собой набор простых статических файлов (с Gradle для компиляции CSS, статический анализ и т.д.), В то время как остальные являются модулями Java и не имеют проблем Gradle.
Кто-нибудь может подумать, почему IntelliJ будет пытаться понять этот Gradle файл?
Ответы
Ответ 1
Для тех, кто ищет аналогичное исправление, это сводилось к типу модуля. Мой модуль был определен в моем .iml файле как
type="WEB_MODULE"
Я создал новый модуль Gradle и вставил его в одно и то же содержимое, удалил оригинал, переименовал новый модуль с тем же именем, что и старый, и все сработало нормально. Когда я изменил результаты, единственным изменением было то, что файл .iml теперь сказал:
type="JAVA_MODULE"
Итак, вот ответ, похоже. Измените свой модуль с "web" на "java".
Ответ 2
Я часто это замечал. При создании нового проекта и использовании шаблона 'Gradle, IntelliJ, похоже, все ошибается. Так что я прибегал к тому, чтобы сделать это после создания нового проекта, удалить файлы .idea и .iml и повторно открыть проект непосредственно из файла Gradle. IntelliJ, похоже, лучше понимает, что происходит в этом случае.
Ответ 3
Для первой части вопроса: group
- это свойство, поэтому должно быть присваивание, а не вызов функции. Правильный код:
group = 'com.me.blah'
Ответ 4
Я нашел это предложение в отслеживателе ошибок IDEA (IDEA-142683):
Решение:
Можно добавить комментарий, например, //noinspection GroovyAssignabilityCheck
для подавления предупреждения, но это не обязательно, поскольку они являются стандартными каждый день Gradle обычаями.
Эта проблема была недавно обновлена и отмечена как исправленная, готовая к выпуску с выпуском версии 2016.2.
Ответ 5
Попробуй файл | Недействительные кэши и перезапуск. Это сработало для меня после того, как я испортил синтаксис где-то еще в файле.
Ответ 6
Я обнаружил, что это предупреждение от Groovy инспекции Intelliji. Так что, если ваш проект не является чисто Groovy, вы можете отключить эту проверку, перейдя в Файл → Настройки → Редактор → Проверки → отключить Groovy. Опять же, просто обходной путь.
Ответ 7
Случилось недавно в окнах. Я пробовал все вышеперечисленное, но это не сработало.
Что я сделал:
1 - У меня уже была переменная среды JAVA_HOME. Таким образом, IDEA выбрала это как SDK проекта, и эти предупреждения появились.
2 - Итак, я удалил JAVA_HOME по умолчанию из SDK проекта и вручную добавил путь jdk. Перезапуск и все предупреждения исчезли.
Может быть, это поможет кому-то. Спасибо.
Ответ 8
Для меня, попробовав все эти ответы безрезультатно, смена Java SDK проекта сделала свое дело, я был на 1.8 и поменял его на самый новый, но все равно язык уровня проекта 8.
Надеюсь это поможет!