2015-11-06 135 views
2

我在这里做错了什么?最终目标是从URL下载* .properties。Gradle - 不能实例化常春藤类

【我知道解析器是不需要的,只是试着看看是否有类名问题。 ]

错误:

build file '/home/awm/t/build.gradle': 13: unable to resolve class org.apache.ivy.plugins.resolver.URLResolver 
    @ line 13, column 20. 
     def resolver = new org.apache.ivy.plugins.resolver.URLResolver() 
         ^

    build file '/home/awm/t/build.gradle': 14: unable to resolve class org.apache.ivy.util.url.ApacheURLLister 
    @ line 14, column 21. 
     def urlLister = new org.apache.ivy.util.url.ApacheURLLister() 
         ^

代码:

plugins { 
    id "de.undercouch.download" version "2.0.0" 
} 

import de.undercouch.gradle.tasks.download.Download 
import org.apache.ivy.util.url.* 

task downloadDirectory { 
    def dir = 'http://127.0.0.1:8081/artifactory/gradle-local/props/' 
    def resolver = new org.apache.ivy.plugins.resolver.URLResolver() 
    def urlLister = new org.apache.ivy.util.url.ApacheURLLister() 
    def files = urlLister.listFiles(new URL(dir)) 
    download { 
     src files 
     dest "lib" 
    } 
} 

defaultTasks 'downloadDirectory' 

回答

0

从摇篮2.0你需要在为了使这个配方工作构建脚本依赖于Apache的常青藤。将以下权利放在构建脚本的开头。

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'org.apache.ivy:ivy:2.3.0' 
    } 
} 

例如:https://github.com/michel-kraemer/gradle-download-task/blob/ddb384d3ee86f038c61ec4e77f21b814b1557a1a/examples/directory.gradle

下载任务的另一种使用情况:https://www.michel-kraemer.com/recipes-for-gradle-download/