Некоторое время go я переключался с logback. xml на logback. groovy как способ настройки ведения журнала для моего проекта Gradle.
До сих пор это работало нормально.
Мне только что пришлось воссоздать свои проекты в новом рабочем пространстве, используя ту же версию Eclipse, 2019-06, с той же версией Groovy, 2.5.9.
Для некоторых причина первой строки logback. groovy теперь помечает ошибку. Начальные строки файла:
context.getFrameworkPackages().addAll([
"sun.reflect",
"java.lang.reflect",
"org.codehaus.groovy",
"groovy.lang.MetaMethod",
"jdk.internal.reflect"
])
Отмеченные ошибки: / 1010 *
Multiple markers at this line
- Groovy:Unexpected problem with AST transform:
null
- implements groovy.lang.Script.run
О, дорогой: даже когда я закомментирую все вышеупомянутые строки в вверху файла я все еще получаю ту же самую ошибку, в том же месте , говоря то же самое.
позже
Теперь я получаю ту же ошибку для других. groovy файлов в этом проекте. Но я сузил это явление.
В build.gradle у меня есть следующая строка:
testImplementation 'org.spockframework:spock-core:1.2-groovy-2.5'
Если эта строка закомментирована, и я выполняю Refre sh Gradle, ошибка не возникает; если я раскомментирую вышеприведенную строку и сделаю Refre sh Gradle, произойдет ошибка; если я снова закомментирую это и снова перефразирую sh, ошибка исчезнет.
Также стоит знать, что в этой настройке Eclipse у меня установлен плагин Groovy -Eclipse. По причинам, которые я не понимаю, это настаивает на том, что «рабочая область Groovy уровень компилятора» - это версия 3.0.1. Если я установлю его на 2,5, вся установка Eclipse будет «повреждена»: Project Explorer не будет отображаться и т. Д. c.
Я предполагаю, что проект Gradle обнаруживает, что эта зависимость Spock совместима только с Groovy 2.5, и что происходит несоответствие (хотя в Window -> Prefs -> Groovy -> Compiler я снял флажок «Включить проверку на несоответствия между проектом и рабочим пространством Groovy уровнями компилятора»).
Ирония в том, что мой проект Gradle не обращает внимания на версию Groovy операционной системы или рабочей области: оболочка Gradle определяет, какой Groovy запускает build.gradle, и следующую строку в сборке .gradle определяет версию Groovy для приложения и тестовых файлов (которые я пишу в Groovy, а не Java):
implementation 'org.codehaus.groovy:groovy-all:2.5.9'
Кроме того, это самый высокий доступный уровень Groovy для Спока 1.2. модуль. Спок 2 имеет версию, в которой версия Groovy равна 3, но я не совсем готов перейти на Спок 2.