如何解析 "Could not find match for name 'withXml'" 输出?

How to resolve "Could not find match for name 'withXml'" output?

在我的 Java 图书馆项目中,我定义了以下 Gradle 任务

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin: 'jacoco'

...

task createPom() {
    pom {
        project {
            groupId nexusGroupId
            artifactId nexusArtifactId
            version libVersion
            organization {
                name 'Example'
                url 'https://www.example.com'
            }
            withXml { asNode().appendNode('packaging', 'jar') }
        }
    }.writeTo("build/libs/pom.xml")
}

当我构建库时,控制台输出以下内容:

Configure project : Could not find match for name 'withXml'

我正在使用 Gradle 包装器 4.10.3.

如何解决警告?

在项目的构建器中,只能调用原生的setter POM project model

方法withXml是Gradle的MavenPom interface方法,只能在创建MavenPom后调用:

task createPom() {
    pom {
        project {
            groupId 'Foo'
            artifactId 'Bar'
            version '1.0'
        }.withXml { 
            asNode().appendNode('packaging', 'jar')
        }
    }.writeTo("build/libs/pom.xml")
}