gpt4 book ai didi

java - Maven-publish 不能在 pom 文件上应用 withXML(没有方法签名)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:32 25 4
gpt4 key购买 nike

好的,所以我遇到了此处描述的确切问题:

Android library dependencies missing from POM with Gradle

我将提供的答案复制到我的 gradle 文件中,如下所示:

publishing {
publications {
mavenAar(MavenPublication) {
groupId group
artifactId 'exampleId'
version version
artifact source: file('build/outputs/aar/example-release.aar')

//The publication doesn't know about our dependencies, so we have to manually add them to the pom
pom.withXml {
// for dependencies and exclusions
def dependenciesNode = asNode().appendNode('dependencies')
configurations.compile.allDependencies.each { ModuleDependency dp ->
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', dp.group)
dependencyNode.appendNode('artifactId', dp.name)
dependencyNode.appendNode('version', dp.version)

// for exclusions
if (dp.excludeRules.size() > 0) {
def exclusions = dependencyNode.appendNode('exclusions')
dp.excludeRules.each { ExcludeRule ex ->
def exclusion = exclusions.appendNode('exclusion')
exclusion.appendNode('groupId', ex.group)
exclusion.appendNode('artifactId', ex.module)
}
}
}
}
}
}
repositories {
mavenLocal()
maven {
url selectDeploymentURL()
if ( project.hasProperty( 'nexusUser' ) ) {
credentials {
username project.getProperty('nexusUser')
password project.getProperty('password')
}
}
}
}
}

但是我在尝试 publishToMavenLocal 时遇到错误,我不确定为什么?

FAILURE: Build failed with an exception.

* Where:
Build file 'path/build.gradle' line: 136

* What went wrong:
Execution failed for task ':example:generatePomFileForMavenAarPublication'.
> Could not apply withXml() to generated POM
> No signature of method: build_42xq5bsii69isvukzktk1oy51$_run_closure5_closure19_closure21_closure23_closure24.doCall() is applicable for argument types: (org.gradle.api.internal.artifacts.dependencies.DefaultSelfResolvingDependency_Decorated) values: [org.gradle.api.internal.artifacts.dependencies.DefaultSelfResolvingDependency_Decorated@433edba9]
Possible solutions: doCall(org.gradle.api.artifacts.ModuleDependency), findAll(), findAll(), isCase(java.lang.Object), isCase(java.lang.Object)

注意:第136行就是这一行:

configurations.compile.allDependencies.each { ModuleDependency dp ->

最佳答案

正如 Karma 所说,我在发布后不久就找到了答案

我刚刚删除了 ModuleDependency dp 并引用了它的所有内容,并且它克服了这个错误,我现在在 pom 文件中看到了新节点。

configurations.compile.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)

关于java - Maven-publish 不能在 pom 文件上应用 withXML(没有方法签名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32998716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com