Как разрешить вывод «Не удалось найти совпадение для имени« withXml »»? - PullRequest
0 голосов
/ 10 апреля 2019

В моем проекте библиотеки 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")
}

При сборке библиотеки на консоль выводится следующее:

Настройка проекта: Не удалось найти совпадение для имени 'withXml'

Я использую упаковку Gradle 4.10.3.

Как разрешить предупреждение?

1 Ответ

1 голос
/ 13 апреля 2019

Внутри компоновщика проекта вы можете вызывать только сеттеры родной модели проекта POM .

Метод withXml является методом интерфейса MavenPom от Gradle и может быть вызван только после создания MavenPom:

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