Как я могу ссылаться на класс домена Groovy из класса Java с помощью Eclipse?
Я поместил свой предметный класс в пакет:
package com.me.myproject
public class Person {
String name
int age
}
Затем в своем классе Java я пытаюсь сослаться на com.me.myproject.Person. Это работает для grails run-app (командная строка), но не для Eclipse. Eclipse не может разрешить класс домена Groovy.
Я запускаю Eclipse 3.4.1 с последними плагинами Groovy и Grails Eclipse:
Я попытался установить папку вывода Eclipse по умолчанию в то же место, что и расположение вывода компилятора Groovy. Я также пробовал включать и отключать параметр «Отключить создание файлов классов компилятором Groovy». Я также пробовал не помещать свои классы в пакет. Ничего из этого не работает.




Мне тоже не удалось проделать эту работу в eclipse. Пока весной не будут созданы плагины groovy / grails eclipse для чего-то другого, кроме простого цветового кодирования, лучше всего использовать IDE, такую как Intelij, которая имеет лучшую поддержку Groovy на данный момент.
Хотя я этого не пробовал, я считаю, что вам нужно добавить папку домена в качестве папки src в свой путь сборки Java.
Щелкните правой кнопкой мыши проект и выберите «Свойства». Щелкните Путь сборки Java, затем вкладку Источник. Щелкните папку добавления и убедитесь, что ваш проект / grails-app / домен находится в указанном пути.
Если это не сработает, то вы правы, я не уверен, в чем проблема.
К вашему сведению, Spring-Source, являясь таким спонсором Eclipse, я с нетерпением жду значительно улучшенного плагина Eclipse в ближайшем будущем. Но ты прав. Пока это раздражает.
Вы пробовали Плагин Groovy? Он может это сделать.
Мне также не удалось заставить его работать с той же выходной папкой для Groovy и Java, но, похоже, он работает, если вы используете разные выходные папки.
Вот что я сделал. В диалоговом окне свойств проекта:
web-app/WEB-INF/groovy-classesТеперь у вас должна быть возможность использовать скомпилированные классы Groovy из Java.
Я думаю, что это скорее взлом, чем решение, но на данный момент он выполняет свою работу за меня.
Пожалуйста, обновите плагин groovy-eclipse до версии 2, так как эта проблема устранена. V2 плагина не создает заглушек и не имеет проблем с циклическими зависимостями между Java и Groovy. Плагин теперь поставляется с патчем функции, который исправляет компилятор JDT, чтобы он мог работать с Groovy-файлами.
Я не уверен, что ссылки на файлы или папки - хороший способ. Вам следует использовать модуляризацию. Таким образом, ваши доменные классы будут храниться в отдельном «проекте». Это можно сделать, создав плагины. Вы можете найти отличное объяснение и исходный код здесь.
Кажется, я немного опоздал на эту вечеринку, но столкнулся с той же проблемой. Мне удалось разрешить ссылку на класс домена Groovy из класса Java, преобразовав проект в проект Groovy. Инструкции следующие:
Моя среда выглядит следующим образом:
Наконец, я испортил нет любой опцией «Отключить создание файлов классов компилятором Groovy».