将 POM 文件发布到 Artifactory 时,配置 getByName 在 gradle 中不起作用

configurations getByName not working in gradle when publishing POM file to Artifactory

我在 build.gradle 文件中使用发布部分将 Android 库发布到 Artifactory:

publishing {
  publications {
    aar(MavenPublication) {
        groupId packageName
        version = libraryVersion
        artifactId project.getName()

        // Tell maven to prepare the generated "*.aar" file for publishing
        artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")

        pom.withXml {
                def dependencies = asNode().appendNode('dependencies')
                configurations.getByName("_releaseCompile").getResolvedConfiguration().getFirstLevelModuleDependencies().each {
                    def dependency = dependencies.appendNode('dependency')
                    dependency.appendNode('groupId', it.moduleGroup)
                    dependency.appendNode('artifactId', it.moduleName)
                    dependency.appendNode('version', it.moduleVersion)
                }
            }
        }
    }
}

失败并出现以下错误:

Execution failed for task ':smartcardsdk:generatePomFileForAarPublication'.
> Could not apply withXml() to generated POM
> Configuration with name '_releaseCompile' not found.

这不是 Android v2.x 的问题。当我升级到 Android Studio v3(我猜也是 Gradle v3.0.0)时问题开始了。

我猜测配置不再以 _releaseCompile 名称存储。

有谁知道新的 "name" 应该是什么?

谢谢。

刚刚弄明白了。您必须将其更改为:

"releaseCompileClasspath"