【问题标题】:Gradle Artifactory Plugin Not Generating Pom FileGradle Artifactory 插件不生成 Pom 文件
【发布时间】:2014-10-29 08:28:30
【问题描述】:

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

我有任务运行

./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.

我做错了什么?

【问题讨论】:

  • 最好使用 --stacktrace 选项运行以获取更多信息。

标签: java maven gradle artifactory


【解决方案1】:

我遇到了类似的问题,我已经优化了 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”是罪魁祸首。

希望对您有所帮助!

【讨论】:

  • 天哪,这很有帮助!对我来说,我需要禁用configureondemand
  • 太棒了!谢谢!
  • 太好了,非常感谢。添加 org.gradle.configureondemand=true 对我有帮助。
【解决方案2】:

问题中的 Gradle build sn-p 可能很有用,但如果我不得不盲目猜测,我敢打赌你没有应用 mavenmaven-publish 插件(或者你应用了错误的插件)。

【讨论】:

  • 我在使用 android-maven 时遇到了同样的问题,就像在 gradle-android-aar 示例中一样。我向插件仓库提交了一个问题 > github.com/dcendents/android-maven-plugin/issues/17.
  • @JBaruch,我也遇到了类似的错误,但我确实应用了 maven 和 maven-publish 插件。
  • @Jason 值得一个单独的问题,其中包含您的构建脚本。
  • @JBaruch:这个错误似乎是 gradle 2.4 及更高版本的问题。 jfrog.com/jira/browse/GAP-174
【解决方案3】:

我们在升级 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
}

【讨论】:

  • 要使其正常工作,您需要将整个 pom 块包装在 doLast{} 块中。
【解决方案4】:

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

【讨论】:

    【解决方案5】:

    有同样的问题。我通过简单地运行任务来解决它:

    ./gradlew generatePomFileForWarPublishPublication
    

    由神器插件提供。

    【讨论】:

      【解决方案6】:

      这个问题可以简单的通过命令行发布来解决 而不是通过 Android Studio ./gradlew clean module_name:artifactoryPublish [链接]https://github.com/dcendents/android-maven-gradle-plugin/issues/17

      【讨论】:

        猜你喜欢
        • 2016-04-09
        • 2016-09-10
        • 1970-01-01
        • 2015-07-30
        • 2016-01-28
        • 1970-01-01
        • 2016-06-20
        • 2011-10-05
        • 2012-02-13
        相关资源
        最近更新 更多