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')   
}

私もそのような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に依存していることに注意してください。sdi-masterには1つのコンパイルファイルツリーもあります。予想どおり、copyJarsを実行すると、sdi-masterからすべてのjarが取得され、genLibDirにもコピーされます。ただし、Eclipseタスクを実行すると、これらのjarファイルが.classpathファイルに表示されないため、プロジェクトがEclipseでコンパイルされません。

これは私が報告する必要のあるgradleeclipseタスクのバグですか、それとも動作であると思われます(configurations.compileを使用したコピーjarとは非常に矛盾しているようですが)。

ありがとう、ディーン

4

1 に答える 1

1

Eclipse は推移的な依存関係を理解するので、 の依存関係はsdi-master現在のプロジェクトの.classpathファイルには表示されません (表示されるべきではありません)。それらはsdi-master.classpathファイルに表示され、そこにあるとマークされるはずexportedです。

于 2012-09-28T18:12:23.957 に答える