【问题标题】:Cause: No such property: sourceSets for class: org.gradle.api.plugins.Convention原因:没有这样的属性:类的源集:org.gradle.api.plugins.Convention
【发布时间】:2010-12-08 06:37:43
【问题描述】:

我已经从 Gradle Cookbook 运行了一个代码 sn-p


apply plugin: 'java'

task "create-dirs" << {
   convention.sourceSets.all*.java.srcDirs*.each { it.mkdirs() }
   convention.sourceSets.all*.resources.srcDirs*.each { it.mkdirs() }
}

当我运行时出现以下错误

原因:没有这样的属性:类的源集:org.gradle.api.plugins.Convention

我正在使用 Gradle 0.9-rc-3

【问题讨论】:

    标签: groovy build build-process gradle


    【解决方案1】:

    该属性现在已全部删除,因此您可以这样做:

       task "create-dirs" {
            def defaultPackage = "org.akash.gradle";
            ['java', 'groovy', 'resources'].each { String dir ->
               sourceSets*."$dir".srcDirs*.each { dir1 ->
                 def newDir = new File(dir1, defaultPackage);
                 newDir.mkdirs();
               }
            }
       }
    

    【讨论】:

      【解决方案2】:

      好的,抱歉。我明白了

      一定是

       
      apply plugin: 'java'
      
      

      task "create-dirs" << { sourceSets.all*.java.srcDirs*.each { it.mkdirs() } sourceSets.all*.resources.srcDirs*.each { it.mkdirs() } }

      【讨论】:

      • 如果我需要编写自己的插件来创建结构,我如何将我的结构链接到 sourceSets?
      猜你喜欢
      • 2016-08-28
      • 1970-01-01
      • 1970-01-01
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 2013-01-16
      相关资源
      最近更新 更多