42

Groovy 1.8.6 に付属する Gradle 1.6 を使用していますが、ここで問題が発生します。Groovy 2+ を必要とする groovy スクリプトを実行したいのですが、Gradle はこのスクリプトを独自の groovy (1.8.6) で実行しており、私のカスタム タスクは次のとおりです。失敗。

4

2 に答える 2

79

src/main/groovy を作成し、そこに「myscript.groovy」というスクリプトを配置します。

println "hello world from groovy version ${GroovySystem.version}"

次に、プロジェクトのルート ディレクトリに build.gradle ファイルを配置します。

apply plugin: 'groovy'

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.0.5'
}

task runScript (dependsOn: 'classes', type: JavaExec) {
    main = 'myscript'
    classpath = sourceSets.main.runtimeClasspath
}

次に、スクリプトを実行できます(出力あり)

hw@hbook:ex $ gradle runScript
:compileJava UP-TO-DATE
:compileGroovy
:processResources UP-TO-DATE
:classes
:runScript
hello world from groovy version 2.0.5

BUILD SUCCESSFUL

Total time: 6.118 secs
于 2013-06-28T18:07:05.367 に答える