#java #gradle #groovy #build.gradle #maven-publish
#java #gradle #groovy #build.gradle #maven-опубликовать
Вопрос:
В моем проекте библиотеки 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:
Внутри конструктора для проекта вы можете вызывать только установщики собственной модели проекта 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")
}