首页 > 解决方案 > Gradle mavenDeployer 得到 501

问题描述

在 Maven Central 转换为 https 后,我一直在努力让我们的 Gradle 构建再次工作,但我遇到了上传到 Nexus 任务的问题。

gradle 脚本如下所示:

repositories {
    maven {
        url "$nexus_url"
    }
    mavenCentral()
    mavenLocal()
}

task uploadtoNexus (type: Upload) {
    ...

    repositories {
        mavenDeployer {
            repository(url: "$repoUrl") {
                authentication(userName: "***", password: "***")
                releases(updatePolicy: 'never')
                snapshots(updatePolicy: 'always')
            }

            pom.groupId = "$groupId"
            pom.project{ packaging 'war'
                version "$verNo" }
        }
    }
}

运行 uploadtoNexus 任务时出现以下错误:

:uploadtoNexus
Downloading: com/fasterxml/jackson/jackson-bom/2.8.6/jackson-bom-2.8.6.pom from repository central at http://repo1.maven.org/maven2
Error transferring file: Server returned HTTP response code: 501 for URL: http://repo1.maven.org/maven2/com/fasterxml/jackson/jackson-bom/2.8.6/jackson-bom-2.8.6.pom
:uploadtoNexus FAILED

我尝试将 https 存储库添加到我的全局 maven settings.xml 中,但它似乎没有接受这些更改。我知道我的 settings.xml 正在加载,因为我确实设法将值覆盖到https://repo.maven.apache.org/maven2,但我无法让构建使用https://repo1.maven.org /maven2而不是http://repo1.maven.org/maven2用于 jackson-bom。

全局设置.xml

<repositories>
                <repository>
                    <id>central1</id>
                    <name>central maven repo https</name>
                    <url>https://repo.maven.apache.org/maven2</url>
                 </repository>
                 <repository>
                    <id>central</id>
                    <name>central maven repo https</name>
                    <url>https://repo1.maven.org/maven2</url>
                 </repository>
                 <repository>
                    <id>maven</id>
                    <name>maven </name>
                    <url>https://repo1.maven.org/maven2</url>
                 </repository>
        </repositories>

这是我尝试运行作业时的调试信息:

12:30:35.853 [DEBUG] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:null] Maven Ant Tasks version: 2.1.3
12:30:35.856 [DEBUG] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:null] Loading Maven settings file: C:\Users\ckantzer\AppData\Local\Temp\gradle_empty_settings5984918988776117085.xml
12:30:35.956 [DEBUG] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:null] Loading Maven settings file: C:\Users\ckantzer\.m2\settings.xml
12:30:36.196 [DEBUG] [sun.net.www.protocol.http.HttpURLConnection] sun.net.www.MessageHeader@167a21b7 pairs: {GET /maven2/com/fasterxml/jackson/jackson-bom/2.8.6/jackson-bom-2.8.6.pom HTTP/1.1: null}{Accept-Encoding: gzip}{Pragma: no-cache}{User-Agent: maven-artifact/3.0.4 (Java 1.8.0_20; Windows 8.1 6.3)}{Host: repo1.maven.org}{Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2}{Connection: keep-alive}
12:30:36.329 [DEBUG] [sun.net.www.protocol.http.HttpURLConnection] sun.net.www.MessageHeader@7c0df4ab12 pairs: {null: HTTP/1.1 501 HTTPS Required}{Server: Varnish}{Content-Type: text/plain}{Content-Length: 133}{Accept-Ranges: bytes}{Date: Thu, 12 Mar 2020 16:30:36 GMT}{Via: 1.1 varnish}{Connection: close}{X-Served-By: cache-chi21159-CHI}{X-Cache: MISS}{X-Cache-Hits: 0}{X-Timer: S1584030636.304049,VS0,VE0}
12:30:36.332 [INFO] [system.out] [WARNING] Unable to get resource 'com.fasterxml.jackson:jackson-bom:pom:2.8.6' from repository central (http://repo1.maven.org/maven2): Error transferring file: Server returned HTTP response code: 501 for URL: http://repo1.maven.org/maven2/com/fasterxml/jackson/jackson-bom/2.8.6/jackson-bom-2.8.6.pom
12:30:36.334 [INFO] [org.gradle.api.internal.project.ant.AntLoggingAdapter] [ant:null] An error has occurred while processing the Maven artifact tasks.

我们正在运行旧版本的 Gradle (2.3),并且更愿意让它与当前版本一起工作,而不是更新到新版本并且必须重构我们的构建脚本。

任何帮助,将不胜感激。

编辑 - 我正在使用 springboot 1.5.1,这是杰克逊依赖的来源。

谢谢,克里斯

标签: gradle

解决方案


推荐阅读