Eclipse 2020-03 указывает, что сгенерированные Groovy методы не существуют, если на них есть ссылки внутри класса Java.
Я создал новый проект Groovy в Eclipse 2020-03 для иллюстрации этот. Я никоим образом не изменял проект по умолчанию.
Мой Groovy объект:
class MyPogo {
String id
}
Доступ к нему в Groovy скрипте
MyPogo g = new MyPogo()
g.setId("foo")
println(g.getId())
Получите доступ к нему в Java:
public class DemoAccessor {
public static void main(final String[] args) {
MyPogo p = new MyPogo();
p.setId("foo");
System.out.println(p.getId());
}
}
В перспективе Java оба setId и getId подчеркнуты красным цветом, а сообщение с желобом читается
"The method setId(String) is undefined for the type MyPogo"
Выдается аналогичное сообщение для getId (String).
При запуске в качестве приложения Java внутри Eclipse и сценарий groovy, и DemoAccessor выводят на консоль 'foo'.
Почему не Eclipse распознать эти сгенерированные методы? Мне нужно добавить -javaagent: ... в eclipse.ini? Есть ли предпочтение, которое мне нужно настроить?
.project contains
...
<natures>
<nature>org.eclipse.jdt.groovy.core.groovyNature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
...
.classpath содержит
...
<classpathentry exported="true" kind="con" path="GROOVY_SUPPORT"/>
<classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/>
...
Просмотр проблем
Проводник пакетов
Просмотр ошибок