0

所以我在gradle中有以下依赖部分

dependencies {    
    compile project(':sdi-master')
    compile fileTree(dir: '../webserver/lib', include: '*.jar')
    compile fileTree(dir: '../webserver/play-1.2.4/framework/lib', include: '*.jar')
    compile fileTree(dir: '../webserver/play-1.2.4/framework', include: 'play-*.jar')   
}

我也有一个像这样的复制罐子任务

task deleteJars(type: Delete) {
    ext.collection = files { genLibDir.listFiles() }
    delete ext.collection
}
task copyJars(type: Copy) { 
    from(configurations.compile) {}
    into genLibDir
}
copyJars.dependsOn('deleteJars')
classes.dependsOn('copyJars')

注意它是如何依赖于 sdi-master 的,然后它也有一个编译文件树。当我运行 copyJars 时,正如预期的那样,我从 sdi-master 获取所有 jars 并复制到 genLibDir 中。但是,当我运行 eclipse 任务时,这些 jar 不会像我预期的那样显示在 .classpath 文件中,因此我的项目不会在 eclipse 中编译。

这是我需要报告的 gradle eclipse 任务错误还是应该是这种行为(尽管它似乎与使用configurations.compile 的复制jar 非常不一致。

谢谢,院长

4

1 回答 1

1

Eclipse 理解传递依赖,因此 的依赖sdi-master不会(也不应该)显示在当前项目的.classpath文件中。它们应该只出现在sdi-master's 的.classpath文件中并且应该被标记在exported那里。

于 2012-09-28T18:12:23.957 回答