当我尝试将“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.
我究竟做错了什么?
我遇到了类似的问题,我已经优化了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”是罪魁祸首。
希望能帮助到你!
问题中的Gradle构建片段可能很有用,但如果我必须盲目猜测,我打赌你没有应用maven
或maven-publish
插件(或者你应用了错误的插件)。
我们在升级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
}
我在我的AS项目中使用自定义插件。我将自定义插件中的gradle版本更改为我在AS中使用的相同版本。然后,我通过终端执行命令,而不是从AS运行。为我工作
有同样的问题。我通过简单地运行任务解决了它:
./gradlew generatePomFileForWarPublishPublication
由artifactory插件提供。
这个问题可以通过命令行而不是通过Android Studio ./gradlew clean module_name:artifactoryPublish
[Link] https://github.com/dcendents/android-maven-gradle-plugin/issues/17来解决。