更新 gradle 包装器后无法解析类 MavenDeployment

Posted

技术标签:

【中文标题】更新 gradle 包装器后无法解析类 MavenDeployment【英文标题】:unable to resolve class MavenDeployment after updating the gradle wrapper 【发布时间】:2021-08-17 15:41:43 【问题描述】:

android Studio 让我更新 gradle 包装器,我接受了。

在更新过程之后,它将包装器更新到版本 7.0.2。

现在我的项目出现以下错误:

unable to resolve class MavenDeployment 
        @ line 30, column 34.
        beforeDeployment  MavenDeployment deployment -> signing.signPom(deployment) 
        ^
        1 error

这是一个库项目,我使用以下指南(和脚本)在 MavenCentral 上发布它:simple library publishing with Gradle

它似乎不再从 maven 插件解析类 MavenDeployment

apply plugin: 'maven'

就在脚本的这一点上:

afterEvaluate  project ->
    uploadArchives 
            repositories 
                    mavenDeployer 
                            beforeDeployment  MavenDeployment deployment -> signing.signPom(deployment) 
...

我不是 gradle 专家。我该如何解决这个错误?

【问题讨论】:

【参考方案1】:

终于发现问题:旧的maven插件在新的gradle版本中被弃用了。

如果您遇到此错误,您需要重写脚本以使用Maven Publish Plugin

【讨论】:

您能否分享您修复此错误的“maven.gradle”文件。 我正在使用新的 maven-publish 插件,但我仍然遇到同样的错误。了解新重写的脚本是什么样子会很有帮助。 Maven 页面显示旧页面。【参考方案2】:

遇到同样的问题。 我使用更新到 5.3 的版本成功构建。

【讨论】:

5.3 版?你能澄清你的答案吗? 我只是将 gradle 版本降级到 5.3。

以上是关于更新 gradle 包装器后无法解析类 MavenDeployment的主要内容,如果未能解决你的问题,请参考以下文章

Gradle 无法解析 org.springframework.boot:spring-boot-gradle-plugin:1.4.2.RELEASE (repo1.maven.org: Nome

错误:在 Android SDK 中找不到 gradle 包装器。可能需要更新您的 Android SDK - Android

如何解决具有不同包装常春藤类型的sbt中的依赖关系?

Eclipse 和 Gradle 类路径不同步:无法解析为类型

Gradle 无法解析未请求的版本

无法获取 Gradle 包装器属性