Ссылка на класс домена Groovy из класса Java с использованием Eclipse? - PullRequest
4 голосов
/ 28 декабря 2008

Как я могу ссылаться на класс домена 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:

  • Функция Grails Eclipse 0.1.0 20081120_2330
  • GroovyFeature 1.5.7.20081120_2330

Я попытался установить папку вывода по умолчанию в Eclipse так же, как в папке вывода компилятора Groovy. Я также попытался включить и отключить параметр «Отключить создание классов в Groovy». Я также пытался не класть ни одного из моих классов в пакет. Ни одна из этих работ.

Ответы [ 7 ]

1 голос
/ 11 января 2009

Вы пробовали Groovy Plugin ? Это может сделать это.

1 голос
/ 31 декабря 2008

Я также не смог сделать эту работу в затмении. До тех пор, пока весна не получит плагины Groovy / Grails Eclipse, предназначенные для выполнения чего-то другого, кроме простой цветовой кодировки, лучше всего использовать IDE, например Intelij, которая на данный момент имеет лучшую поддержку Groovy.

0 голосов
/ 31 января 2014

Кажется, я немного опоздал на эту вечеринку, но столкнулся с той же проблемой. Мне удалось разрешить обращение к классу домена Groovy из класса Java путем преобразования проекта в проект Groovy. Инструкции следующие:

  1. Щелкните правой кнопкой мыши проект в Project Explorer
  2. Выберите Преобразовать в Groovy Project из меню Настройка

Моя среда выглядит следующим образом:

  • Eclipse Kepler Service Release 1, идентификатор сборки: 20130919-0819
  • Плагин Groovy-Eclipse 2.9.0.xx-20130828-1400-e43-RELEASE
  • Grails IDE 3.4.0.201310051518-RELEASE (я не думаю, что это было необходимо)

Наконец, я не связывался с любой опцией "Отключить создание файлов классов Groovy-компилятором".

0 голосов
/ 06 сентября 2011

Я не уверен, что ссылки на файлы или папки - это хороший способ. Вы должны использовать модульность. Таким образом, ваши доменные классы будут храниться в отдельном «проекте». Это можно сделать путем создания плагинов. Вы можете найти отличное объяснение и исходный код здесь .

0 голосов
/ 12 сентября 2009

Пожалуйста, обновите до V2 плагина groovy-eclipse, так как эта проблема была исправлена. V2 плагина не создает заглушки и не имеет проблем с циклическими зависимостями между Java и Groovy. Плагин теперь поставляется с патчем, который исправляет JDT-компилятор, так что он может работать с Groovy файлами.

0 голосов
/ 18 июля 2009

Мне также не удалось заставить его работать с использованием одной и той же выходной папки для Groovy и Java, но, похоже, она работает, если вы используете разные выходные папки.

Вот что я сделал. Через диалог свойств проекта:

  1. Под Свойства проекта Groovy Снимите флажок Отключить создание файлов классов компилятором Groovy (Примечание для разработчиков плагинов: используйте положительную формулировку на ярлыках флажков. "Создание файлов классов Groovy "было бы намного легче понять, чем" отключение опции отключения ".)
  2. В Расположение вывода Groovy компилятора введите web-app/WEB-INF/groovy-classes
  3. В Путь сборки Java -> Библиотеки добавить папку классов Groovy.

Теперь вы сможете использовать скомпилированные классы Groovy из Java.

Я думаю, что это скорее взлом, чем решение, но сейчас он выполняет свою работу для меня.

0 голосов
/ 02 января 2009

Хотя я еще не пробовал, я считаю, что вам нужно добавить папку Domain в качестве папки src в вашем пути сборки Java.

Щелкните правой кнопкой мыши по проекту и выберите «Свойства». Нажмите на Java Build Path, затем на вкладку Source. Нажмите add-folder и убедитесь, что ваш проект / grails-app / domain находится в пути.

Если это не сработает, то вы правы, я не уверен, в чем проблема.

К вашему сведению, Spring-Source, являясь таким спонсором Eclipse, я с нетерпением ожидаю значительно улучшенного плагина Eclipse в ближайшем будущем. Но ты прав. Пока что это раздражает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...