2013-06-28 2 views
4

Я пытаюсь настроить проект grails с помощью gradle, но у меня возникла проблема, я не могу заставить grails использовать gradle для разрешения зависимостей. Если я настраиваю зависимости в файле построения градиента и запускаю gradle grails-run-app, он всегда сообщает, что не может найти классы в барах с зависимостями.Как сказать Grails использовать Gradle для разрешения зависимостей

Когда я вырезаю и вставляю зависимости в grails BuildConfig.groovy, и все в порядке.

Как узнать, что Grails использует Gradle для разрешения зависимостей?

Я вставляю файл build.gradle здесь, любое предложение?

apply plugin: 'grails' 
apply plugin: 'java' 
apply plugin: 'jetty' 

version "1.0-SNAPSHOT" 

buildscript { 
    repositories { 
     mavenCentral() 
     mavenRepo urls: 'http://repository.jboss.org/nexus/content/groups/public/' 
    } 
    dependencies { 
     classpath 'com.connorgarvey.gradle:gradle-grails-wrapper:1.0' 
    } 
} 

grails { 
    version '2.2.3' 
} 

repositories { 
    mavenLocal() 
    mavenCentral() 
    mavenRepo urls: 'http://repository.jboss.org/nexus/content/groups/public/' 

} 


dependencies { 
    compile 'org.modeshape.bom:modeshape-bom-embedded:3.3.0.Final' 
    compile 'postgresql:postgresql:9.1-901.jdbc4' 
    compile 'javax.jcr:jcr:2.0' 
    compile 'org.modeshape:modeshape-jcr:3.3.0.Final' 
} 

ответ

0

Отправить текст ....;) Шутка.

Вы должны указать версию артефакта 'grails-bootstrap' в конфигурации «classpath» . Вы также должны добавить артефакты Grails , которые вам нужны. «grails-crud» и «grails-gorm» предоставят вам все необходимое для стандартного веб-приложения Grails.

Посмотрите на plugin docs.

+0

Спасибо за ответ, я не использовал Gradle-Grails-плагин, потому что этот плагин не работает с Gradle 1.6 и Грааль 2.2.3. Он всегда сообщает, что моя версия Grails - 2.2.3, а требуемая версия - 1.4.3, пожалуйста, обновите grails. Поэтому я перехожу к гравюре-грауле. – user2478308

+0

Подробнее об ошибке сообщение. Приложение ожидает версию Grails [2.2.3], но GRAILS_HOME - это версия [1.3.4] - используйте правильную версию Grails или запустите «grails upgrade», если эта версия Grails более новая, чем версия, которую ожидает ваше приложение. – user2478308

+0

@ user2478308 У вас есть GRAILS_HOME, установленный в 1.3.4 в переменных pathpath? – dmahapatro

7

Вместо этого я бы рекомендовал использовать grails-gradle-plugin.

ОБНОВЛЕННЫЙ ОТВЕТ, очистка и использование ботстрапа, чтобы исключить банку Tomcat из войны.

Общая информация

я заслушала от Луки Дейли (ака Alkemist) on Youtube at gr8conf 2013. Я смог создать небольшой POC, и Gradle, похоже, отлично работает с Grails 2.2.3.

Gradle файл сборка

buildscript { 
    repositories { 
    mavenCentral() 
    maven { url 'http://repository.jboss.org/maven2/' } 
    maven { url 'http://repo.grails.org/grails/repo' } 
    maven { url 'http://repo.grails.org/grails/plugins' } 
    maven { url 'http://repository.springsource.com/maven/bundles/release' } 
    maven { url 'http://repository.springsource.com/maven/bundles/external' } 
    maven { url 'http://repository.springsource.com/maven/libraries/release' } 
    maven { url 'http://repository.springsource.com/maven/libraries/external' } 
    } 

    dependencies { 
    classpath 'org.grails:grails-gradle-plugin:2.0.0-SNAPSHOT', 
    'org.grails:grails-bootstrap:2.2.3' 
    } 
} 

version='0.0.1' 

apply plugin: 'grails' 

repositories { 
    mavenCentral() 
    maven { url 'http://repository.jboss.org/maven2/' } 
    maven { url 'http://repo.grails.org/grails/repo' } 
    maven { url 'http://repo.grails.org/grails/plugins' } 
    maven { url 'http://repository.springsource.com/maven/bundles/release' } 
    maven { url 'http://repository.springsource.com/maven/bundles/external' } 
    maven { url 'http://repository.springsource.com/maven/libraries/release' } 
    maven { url 'http://repository.springsource.com/maven/libraries/external' } 
} 

grails { 
    grailsVersion '2.2.3' 
    version '2.2.3' 
} 

configurations { 
    all { 
    exclude module: 'commons-logging' 
    exclude module: 'xml-apis' 
    } 
    test { 
    exclude module: 'groovy-all' 
    } 
    compile { 
    exclude module: 'hibernate' 
    } 
} 

dependencies { 
    compile("org.grails:grails-crud:$grails.grailsVersion", 
      'org.grails:grails-gorm:1.3.7') 

    bootstrap "org.grails:grails-plugin-tomcat:$grails.grailsVersion" 
}