Exception:
Invalid publication 'MavenPublication': POM file is invalid. Check any modifications you have made to the POM file Duplicated tag: 'dependencyManagement'
解决办法:
原因:dependencyManagement这个标签重复Duplicated
针对Gradle推送Nexus处理方式:
Groovy语法:
tasks.withType(GenerateMavenPom).all {
doLast {
File file = new File("$buildDir/publications/maven/pom-default.xml")//maven值自己看看对应build/publications/下是什么
def text = file.text
def pattern = "(?s)(<dependencyManagement>.+?<dependencies>)(.+?)(</dependencies>.+?</dependencyManagement>)"
Matcher matcher = text =~ pattern
if (matcher.find()) {
text = text.replaceFirst(pattern, "")
def firstDeps = matcher.group(2)
text = text.replaceFirst(pattern, '$1$2' + firstDeps + '$3')
}
file.write(text)
}
}
Kotlin语法:
tasks.withType<GenerateMavenPom>().all {
doLast {
val file = File("$buildDir/publications/maven/pom-default.xml")//maven值自己看看对应build/publications/下是什么
var text = file.readText()
val regex = "(?s)(<dependencyManagement>.+?<dependencies>)(.+?)(</dependencies>.+?</dependencyManagement>)".toRegex()
val matcher = regex.find(text)
if (matcher != null) {
text = regex.replaceFirst(text, "")
val firstDeps = matcher.groups[2]!!.value
text = regex.replaceFirst(text, "$1$2$firstDeps$3")
}
file.writeText(text)
}
}