我正在尝试将多个依赖项提取到不同的目录中。我尝试了以下方法。

configurations {
   cppDependencies
}

dependencies {
   cppDependencies 'com.group:artifact1:1.0"
   cppDependencies 'com.group:artifact2:1.0"
}

task extractDeps(type: Copy) {
    from {
        configurations.cppDependencies.collect {
            zipTree(it)
        }
    }
    into new File(buildDir, "DEP_DIR")
}

显然,这只是在同一 DEP_DIR 目录下提取 Artifact 1 Artifact 2 。但是我实际上想要实现的是分别在 DEP_DIR / artifact1 DEP_DIR / artifact2 下提取它们。

我试图将放入 zipTree 命令下的新File(buildDir,“DEP_DIR /” + it.artifactId)中,但它给出了错误。

这可能吗?

最佳答案

我找到了可行的解决方案。

不知道这是否是最好的方法,但这是我想到的:

task extractDeps << {
    configurations.cppDependencies.resolvedConfiguration.resolvedArtifacts.each { artifact ->
        copy {
            from project.zipTree(artifact.getFile())
            into new File(project.buildDir, "DEP_DIR/" + artifact.name)
        }
    }
}

关于java - Gradle将多个依赖项分别提取到不同目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18490986/

10-11 01:02