2
我編寫了一個自定義gradle插件,我想從類路徑中的jar中將特定文件複製到buildDir
。我在沙箱中的項目發揮各地,並得到了這個解決方案的工作:從自定義gradle插件中的jar複製文件
task copyFile(type: Copy) {
from zipTree(project.configurations.compile.filter{it.name.startsWith('spring-webmvc')}.singleFile)
include "overview.html"
into project.buildDir
}
,但如果將其複製到我的插件:
project.task(type: Copy, "copyFile") {
from zipTree(project.configurations.compile.filter{it.name.startsWith('spring-webmvc')}.singleFile)
include "overview.html"
into project.buildDir
}
我得到了錯誤:
* What went wrong:
A problem occurred evaluating root project 'gradle-springdoc-plugin-test'.
> Could not find method zipTree() for arguments [/Users/blackhacker/.gradle/caches/artifacts-26/filestore/org.springframework/spring-webmvc/4.0.0.RELEASE/jar/a82202c4d09d684a8d52ade479c0e508d904700b/spring-webmvc-4.0.0.RELEASE.jar] on task ':copyFile'.
的結果
println project.configurations.compile.filter{it.name.startsWith('spring-webmvc')}.singleFile.class
是
class java.io.File
我在做什麼錯了?
Thx Peter!似乎你是gradle問題的一站式資源:-)我在這裏添加了一個'''project.afterEvaluate''''塊,否則我得到'''你不能改變一個不處於未解析狀態的配置! '''消息。 – thilko
這應該沒有必要。聽起來像你沒有使用大括號。 –
是的,你是對的! – thilko