在Gradle中获得一个依赖的pom

在解决Maven-repository的依赖问题时,Gradle必须下载相应的pom文件。 我想从Gradle脚本中访问这个文件并保存在某个地方。 我怎样才能做到这一点?

您可以简单地声明POM本身的依赖关系。

configurations { pom } dependencies { pom 'org.foo:some-lib:1.0.0@pom' } task copyPom(type: Copy) { into "${buildDir}/poms" from configurations.pom } 

看看Artifact Query API 。 这里是示例代码(Groovy):

 def componentIds = configuration.compile.resolutionResult.allDependencies.collect { it.selected.id } def result = project.dependencies.createArtifactResolutionQuery() .forComponents(componentIds) .withArtifacts(MavenModule, MavenPomArtifact) .execute() for (component in result.resolvedComponents) { component.getArtifacts(MavenPomArtifact).each { println "POM file for ${component.id}: ${it.file}" } } 

我在Kotlin的插件中使用了相同的API。