Maven Compile Groovy - PullRequest
       12

Maven Compile Groovy

12 голосов
/ 21 июня 2009

У меня есть ситуация, когда некоторые из моих кодов groovy ссылаются на мои java-файлы, но у меня также есть разные java-файлы, которые ссылаются на один и тот же groovy-код. При попытке компиляции в maven мне нужно либо скомпилировать groovy до или после java, и это не сработает, поскольку код groovy зависит от некоторых файлов java, а разные файлы java зависят от кода groovy. Есть ли способ справиться с такой зависимостью?

Ответы [ 3 ]

11 голосов
/ 21 июня 2009

Да, просто используйте GMaven . Поскольку это совместный компилятор, он автоматически управляет вашей Java-зависимостью от groovy и groovy до java.

Вкратце, вам необходимо:

  • включает gmaven-plugin в ваш pom.xml;
  • держите классы под src/main/groovy или src/test/groovy;
  • связать плагин gmaven с соответствующими фазами жизненного цикла.

Подробнее см. строительные проекты .

8 голосов
/ 21 июня 2009

Вы сможете скомпилировать свой код, добавив плагин gmaven в свой maven pom.xml. Он генерирует Java-заглушки из вашего отличного кода, чтобы иметь дело с типом межязыковых ссылок, с которыми вы имеете дело. Я использую его совсем немного, и он работает очень хорошо.

0 голосов
/ 21 июня 2009

Вы можете разбить ваш код на слои, и нижние уровни будут вызывать верхние уровни, но никогда не наоборот. Например, в веб-приложении вы можете иметь слой представления, слой обслуживания и слой постоянства. Уровень представления вызывает уровень обслуживания, а уровень обслуживания вызывает уровень постоянства, но уровень сохранения никогда не вызовет уровень обслуживания или уровень представления. Если вы хотите, чтобы код groovy / java существовал в одном и том же слое, убедитесь, что один вызывает другой, но они оба не вызывают друг друга. Суть в том, что вам следует избегать двунаправленных зависимостей.

...