4

gradle を使用して grails プロジェクトをセットアップしようとしていますが、問題が発生しました。依存関係の解決に gradle を使用するように grails を作成できません。gradle ビルド ファイルで依存関係を構成し、gradle grails-run-app を実行すると、常に依存関係の jar ファイルにクラスが見つからないと報告されます。

依存関係を切り取って grails BuildConfig.groovy に貼り付けると、すべて問題ありません。

依存関係の解決に Gradle を使用するよう Grails に指示する方法は?

ここに 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'
}
4

2 に答える 2

7

代わりにgrails-gradle-pluginを使用することをお勧めします。

更新された回答、ブートストラップスコープのクリーンアップと使用により、Tomcat jar を戦争から除外します。

一般的な情報

gr8conf 2013 での YouTube でのLuke Daley (別名alkemist )のプレゼンテーションをフォローしました。小さな 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"
}
于 2013-07-23T23:19:25.020 に答える
0

テキストを送ってください.... ;) 冗談です。

「クラスパス」構成に「grails-bootstrap」アーティファクトのバージョンを含める必要があります。また、必要な Grails アーティファクトを追加する必要があります。「grails-crud」と「grails-gorm」は、標準の Grails Web アプリケーションに必要なすべてを提供します。

プラグインのドキュメントをご覧ください。

于 2013-06-28T13:36:06.770 に答える