Gradle,提取依赖项zip并使用其文件中的内容?

Gradle,提取依赖项zip并使用其文件中的内容?,gradle,build.gradle,Gradle,Build.gradle,我有一个Gradle构建项目,它依赖于另一个项目。我的项目应该从另一个项目中提取一个zip归档文件并提取归档文件。归档文件中的一个文件名为“name.txt”,其中有一个字符串,我需要在“build”任务中将其作为参数传递 def unzippedDir=file('build/dependencies/unzippedDir')。getAbsolutePath() 配置{ 拉链箱 } 依赖关系{ ziparchive“” } 任务解压缩(类型:复制){ 将ZippedDir从zipTree(c

我有一个Gradle构建项目,它依赖于另一个项目。我的项目应该从另一个项目中提取一个zip归档文件并提取归档文件。归档文件中的一个文件名为“name.txt”,其中有一个字符串,我需要在“build”任务中将其作为参数传递

def unzippedDir=file('build/dependencies/unzippedDir')。getAbsolutePath()
配置{
拉链箱
}
依赖关系{
ziparchive“”
}
任务解压缩(类型:复制){
将ZippedDir从zipTree(configurations.zipArchive.singleFile)解压缩到
}
任务构建{
德彭森解压
def name=新文件(unzippedDir+'/name.txt')。文本
// 
}
但是我得到一个“name.txt”的“无文件或目录”错误。我做错什么了吗


不过,我在解压目录中看到的是,zip存档中只有一个文件最终被解压到解压目录中。即使存在另一个文件,也不存在“name.txt”。这是否意味着解压任务出错?

试试以下方法:

由于拼写错误,请检查您的配置名称

def unzippedDir = "$buildDir/dependencies/unzippedDir" 

task unzip(type: Copy) {
    configurations.zipArchive.asFileTree.each {
        from(zipTree(it))
    }
    into unzippedDir
}

build.dependsOn unzip

不过,我在解压目录中看到的是,zip存档中只有一个文件最终被解压到解压目录中。即使存在另一个文件,也不存在“name.txt”。这是否意味着我在解压任务时出错了?这是否意味着我必须将archiveDir指向依赖项归档的存储位置?它在哪里?@JimmyT archive dir是您的存档所在的目录。我不知道你把它放在哪里了。档案是从一个人工仓库中取下来的。它由gradle自动存储在某个地方。所以我不知道它在哪里,我知道你没有提到;是的,你要去人工厂取。我会编辑答案很好,就是这样。非常感谢。