gradle - Artifactory Gradle 插件 - 无效的目标主机解析 URL

标签 gradle spring-boot artifactory

我在解析我的 Artifactory 存储库的位置时遇到问题,因为主机名被破坏了。特别是,尽管有上下文 URL 或存储库 key ,但目标主机部分被翻译为“http:/artifactory”。请注意单斜杠 - 我没有在任何地方配置这个“*任何地方”。

这是 build.gradle 的片段:

artifactory {
contextUrl = 'http://myserver:8081/artifactory'  //The base Artifactory URL if not overridden by the publisher/resolver
publish {
    repository {
        repoKey = 'libs-snapshot-local'
      maven = true
        username = 'user'
        password = 'password'
    }
   defaults {
        publications ('mavenJava')
    }
}
resolve {
    repository {
        repoKey = 'libs-release'
        maven = true
        username = 'user'
        password = 'password'
    }
  }
}

我看到的错误是:
> Could not get resource 'http:/artifactory/libs-release/org/springframework/boot/spring-boot-starter-parent/1.3.0.RELEASE/spring-boot-starter-parent-1.3.0.RELEASE.pom'.
     > Target host must not be null, or set in parameters.

您会在上方看到“http:”之后的单斜杠和“artifactory”域名。奇怪的。

我还尝试在每个发布和解析 block 中再次指定上下文 URL,结果相同。 settings.gradle 和 build.properties 中都没有任何可能覆盖上下文 URL 的内容。几个小时后,我被难住了。建议?

最佳答案

我最终将上下文 URL 中域前的斜杠加倍,如下所示:

contextUrl = 'http:////myserver:8081/artifactory'

然后它将正确构建解析器 URL,如下所示:
http://myserver:8081/artifactory/libs-release

不知道。

关于gradle - Artifactory Gradle 插件 - 无效的目标主机解析 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33964494/

相关文章:

java - 无法在 STS 版本 4.5.0 中添加 java 11 jre

spring - Spring Boot 中用于应用程序身份验证和管理身份验证的不同凭据?

java - 使用 Artifactory 代理到 Docker Hub 并在防火墙内使用测试容器进行测试

Android Studio Gradle 错误 : 'android-maven' not found

android - 使用 gradle 编译我的 android 应用程序时出现 OutOfMemoryError

spring - Tomcat 在 Spring Boot 应用程序中挂起

android - 发布调试并发布到 artifactory

Artifactory 访问 token 通过 Bearer 工作,而不是用户

maven - Gradle无法从Nexus Maven存储库下载 Artifact -需要401授权

android - Android Studio 3.5 中的 lambdas 中的“在 * 行找不到可执行代码”