2013-06-28 90 views
4

我正在嘗試使用Gradle來設置Grails項目,但是我遇到了一個問題,我無法讓grails使用gradle進行依賴關係解析。如果我在gradle構建文件中配置依賴關係並運行gradle grails-run-app,它總是報告無法在依賴關係jar中找到類。如何告訴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

發送文本....;)開玩笑。

您必須在 'classpath'配置中包含'grails-bootstrap'工件的一個版本。您還應該添加您需要的任何Grails 工件。 'grails-crud'和'grails-gorm'會爲您提供標準Grails Web應用程序所需的一切。

看一看plugin docs

+0

感謝您的答覆,我沒有使用gradle這個-的Grails,插件,因爲此插件不與gradle這個1.6和Grails 2.2.3工作。它始終報告我的grails版本是2.2.3,所需版本是1.4.3請升級grails。所以我轉向gradle-grails包裝。 – user2478308

+0

詳細錯誤信息。應用程序需要grails版本[2.2.3],但GRAILS_HOME的版本是[1.3.4] - 如果此Grails版本比您的應用程序所期望的版本更新,請使用正確的Grails版本或運行「grails升級」。 – user2478308

+0

@ user2478308您是否將GRAILS_HOME設置爲1.3.4的類路徑變量? – dmahapatro

7

我會推薦使用grails-gradle-plugin來代替。

UPDATED ANSWER,清理和使用引導範圍從戰爭中排除Tomcat罐子。

一般信息

我跟着盧克·戴利(又名alkemiston Youtube at gr8conf 2013演示。我能夠創建一個小的POC,並且Gradle似乎可以在Grails 2.2.3中正常工作。

搖籃構建文件

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" 
}