Gradle Artifactory插件未生成Pom文件

10

当我尝试“artifactoryPublish”到远程Artifactory存储库时,出现了奇怪的问题。

我已经运行了该任务。

./gradlew clean jar artifactoryPublish

几天前还可以正常工作,现在出现了这个错误:

:artifactoryPublish FAILED

FAILURE: Build failed with an exception.

* What went wrong:
A problem was found with the configuration of task ':artifactoryPublish'.
> File '/Users/me/Programming/android/LibraryPlugin/build/poms/pom-default.xml'      specified for property 'mavenDescriptor' does not exist.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more      log output.

我做错了什么?


1
最好使用--stacktrace选项运行以获取更多信息。 - AHungerArtist
6个回答

20

我遇到了类似的问题,我已经优化了gradle.properties以便更快地编译。

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true

将它们移除并编译代码后可以正常工作,待生成pom文件后再添加回去。

很可能"parallel=true"是罪魁祸首。

希望有所帮助!


11
哇塞,这太有帮助了!对我来说,我需要禁用configureondemand - Billy Lazzaro
太棒了!谢谢! - daemmie
太好了,非常感谢。添加org.gradle.configureondemand=true对我很有帮助。 - gjigandi

2

我们在升级Gradle版本后遇到了相同的问题,但发现这是使用旧设置导致的com.github.dcendents.android-maven插件问题。为了解决这个问题,我们删除了配置块,并创建了一个任务来创建pom-defaults.xml文件。以下部分是我们gradle文件中的相关部分:

task writeNewPom {
    pom {
        project {
            packaging 'aar'
            name 'Some Name'
            url 'http://www.example.com'
            licenses {
                license {
                    name 'The Apache Software License, Version 2.0'
                    url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    distribution 'repo'
                }
            }
        }
    }.writeTo("$buildDir/poms/pom-default.xml")
}

artifactoryPublish {
    dependsOn assembleRelease
    dependsOn sourcesJar
    dependsOn writeNewPom
}

2
为了让它起作用,您需要将整个pom块包装在“doLast {}”块中。 - fast3r

2

问题中的Gradle构建片段可能很有用,但是如果我必须瞎猜,我打赌你没有应用mavenmaven-publish插件(或者你应用了错误的插件)。


我使用 android-maven 时遇到了和在 gradle-android-aar 示例中相同的问题。我已经向插件仓库提交了一个问题 > https://github.com/dcendents/android-maven-plugin/issues/17。 - jdONeill
@JBaruch,我也遇到了类似的错误,但我已经安装了Maven和maven-publish插件。 - Jason
@Jason 这个问题值得单独提问,附上你的构建脚本。 - JBaruch
@JBaruch:这个错误似乎是与Gradle 2.4及以上版本有关的问题。https://www.jfrog.com/jira/browse/GAP-174 - Jason

0

我在我的AS项目中使用了一个自定义插件。我将自定义插件中的gradle版本更改为与AS中使用的版本相同。然后,我通过终端执行了命令,而不是从AS运行。这对我起作用了。


0

我遇到了同样的问题。我通过运行以下任务来解决它:

./gradlew generatePomFileForWarPublishPublication

由Artifactory插件提供。


-2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接