2

私は正常に動作するこのbuild.gradleファイルを持っています:

class Utils  {
  def doit(){
    println "hi from utils"
  }
}

task hello << {
  def utils = new Utils()
  utils.doit();
}

class / .groovyファイルを次のようなサブフォルダーに移動すると、次のようになります。

test
 -> groovy
     -> Utils.groovy
 -> build.gradle

build.gradleファイルを次のように変更します。

dependencies {
    runtime fileTree(dir: 'groovy', include: '*.groovy')
}

task hello << {
  def utils = new Utils()
  utils.doit();
}

Utilsクラスが見つかりません:

...unable to resolve class Utils

サブフォルダーgroovyは、.gradleファイルのクラスパス/依存関係のインポート/エントリとして追加する必要があると思います。私はこれらのページを読みました:

http://gradle.org/docs/current/userguide/dependency_management.htmlhttp://gradle.org/docs/current/userguide/custom_plugins.htmlhttp://gradle.org/docs/current/userguide/custom_tasks _ html

しかし、.gradleファイルに.groovyファイルをインポートする方法を説明するドキュメントを見つけることができませんでした。この単純な機能を説明するページがありませんか?

4

1 に答える 1

5

build.gradleを単純に変更した場合

task hello << {
  def utils = new Utils()
  utils.doit();
}

その後、代わりに

test
 -> groovy
     -> Utils.groovy
 -> build.gradle

Utils.groovyそのようにファイルを移動しますbuildSrc/src/main/groovy

test
 -> buildSrc
     -> src
         -> main
             -> groovy
                 -> Utils.groovy
 -> build.gradle

そしてgradleはそれを自動的に拾うはずです。

詳細については、ドキュメントの「41.4。buildSrcプロジェクトでのビルドソース」のセクションを参照してください。

于 2012-07-20T13:13:07.683 に答える