Grails Плагин Maven Интеграция - PullRequest
0 голосов
/ 15 июня 2011

Я пытаюсь создать приложение Mavenized Grails.Все работает нормально, но, как я понял, все зависимости (все файлы .jar, такие как mysql-connector, а также все плагины grails (public), такие как плагин spring-security-core), должны быть перечислены в pom.xml.в том, что я не знаю, как включить общедоступные плагины Grails (есть ли репозиторий Maven для этого, или я должен включить использованные плагины в мое локальное хранилище?).Или это правильный способ, как обработать плагин Grails, чтобы перечислить их в «application.properties» и позволить Grails управлять этими плагинами?

Спасибо за любой комментарий. :-)

Mateo

Ответы [ 2 ]

2 голосов
/ 15 июня 2011

Вы можете указать свои зависимости плагина в grails-app/conf/BuildConfig.groovy, например:

grails.project.dependency.resolution = {

  plugins { 
    runtime ':hibernate:1.2.1' 
  }
} 

Обновление

В ответ на ваши комментарии ниже, зависимость плагина указана в BuildConfig.groovy (илиapplication.properties) все еще будет решаться Граалем, а не Мэвеном.Я не думаю, что вы можете заставить Maven разрешить зависимость плагина Grails, потому что Maven может работать только с зависимостями JAR в репозиториях Maven.Помните, что плагины Grails (как правило) недоступны в репозиториях Maven.

Если вы хотите передать как можно больше контроля Maven, вы можете попытаться исключить JAR-файлы из зависимостей плагинов, например

plugins {
    runtime( "org.grails.plugins:hibernate:1.2.1" ) {
        excludes "javassist"
    }
}

и вместо этого добавьте их в pom.xml.Здесь будут драконы (см. Ниже).

Редактирование

FWIW, если вам действительно не нужно создавать свой проект Grails с Maven (например, потому что от него зависит другой проект Maven), мой совет будет не .Я говорю это потому, что Мэйвен - очень опытный гражданин в мире инструментов для сборки Grails.Обычный способ создания приложения Grails - использование встроенных команд GAnt.Будущие версии Grails переместятся в сторону Gradle в качестве инструмента сборки по умолчанию, поэтому кажется, что Maven станет запоздалой мыслью на обозримое будущее

1 голос
/ 07 мая 2012

По умолчанию плагины Grails включены на уровне источника. Zip-модуль плагина расширяется, а источник плагина компилируется как часть процесса сборки Grails.

Начиная с 2.0, Grails может использовать бинарные плагины. Вы можете зависеть от простых старых JARS, если эти jar представляют собой плагины для двоичного грааля.

На плагины двоичного грааля можно ссылаться по нормальным координатам maven.

BuildConfig.groovy вашего проекта - это то, где вы указываете репозитории maven и бинарные плагины.

...