Artifactory未找到SonarQube Gradle插件

Artifactory未找到SonarQube Gradle插件,gradle,sonarqube,artifactory,gradle-plugin,sonarqube-scan,Gradle,Sonarqube,Artifactory,Gradle Plugin,Sonarqube Scan,(这个问题详细阐述了一个问题,但有足够的差异,我认为它需要一个单独的问题) 描述了类似的症状,但与我的问题不完全相同 就像那里的海报一样,我得到了一个错误: 找不到id为“org.sonarqube”的插件 在我的build.Gradle文件中尝试使用SonarQube Gradle插件时: buildscript { repositories { mavenLocal() maven { url 'http://[artifactory-url]:8081/artifact

(这个问题详细阐述了一个问题,但有足够的差异,我认为它需要一个单独的问题)

描述了类似的症状,但与我的问题不完全相同

就像那里的海报一样,我得到了一个错误:

找不到id为“org.sonarqube”的插件

在我的build.Gradle文件中尝试使用SonarQube Gradle插件时:

buildscript {
  repositories {
    mavenLocal()
    maven { url 'http://[artifactory-url]:8081/artifactory/plugins-release/' }
  }
  dependencies {
    classpath("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:1.2")
  }
}

apply plugin: 'org.sonarqube'
他说他的Artifactory实例缓存了插件,而我的没有。与他类似,我在公司防火墙后面,对Artifactory没有管理员权限,但我可以看到
插件发布版
虚拟回购确实包括和。通常,只要从我们的Artifactory服务器请求一个库,它就会立即找到并缓存该库,但在这种情况下,它显然失败了

当我删除
apply plugin…
行时,我看到以下错误:

   > Could not find org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:1.2.
     Searched in the following locations:
     file:/C:/Users/[username]/.m2/repository/org/sonarsource/scanner/gradle/sonarqube-gradle-plugin/1.2/sonarqube-gradle-plugin-1.2.pom
     file:/C:/Users/[username]/.m2/repository/org/sonarsource/scanner/gradle/sonarqube-gradle-plugin/1.2/sonarqube-gradle-plugin-1.2.jar
     http://[artifactory-url]/artifactory/plugins-release/org/sonarsource/scanner/gradle/sonarqube-gradle-plugin/1.2/sonarqube-gradle-plugin-1.2.pom
     http://[artifactory-url]/artifactory/plugins-release/org/sonarsource/scanner/gradle/sonarqube-gradle-plugin/1.2/sonarqube-gradle-plugin-1.2.jar
因此,我相当肯定Artifactory无法找到并缓存插件。如果我浏览到,我可以访问POM文件,JAR文件也是如此,但是我注意到,如果我浏览到,它不包括'gradle'作为子目录。我不知道这是否相关,但也许这就是我看到的人工制品问题的原因

我不确定这是否是针对插件的错误,或者是人为的问题,或者仅仅是我们方面的某种错误配置。任何想法都非常感谢

使用跟踪更新 多亏了@drorb,我从Artifactory获得了一条线索,并发现:

2016-04-12T10:28:40.918+01:00执行向
2016-04-12T10:28:40.924+01:00收到远程信息请求的状态{}(消息:501)-返回未找到的资源

501“未实现”,因此我假设这告诉我plugins.gradle.org repo不支持HEAD请求,这似乎意味着Artifactory无法正确查询它。我很惊讶它能为其他人工作——也许有一些人工配置我可以更改为不执行HEAD请求

进一步更新原因,但不是真正的答案
进一步的挖掘使我意识到HEAD请求实际上给了我一个正确的响应(303导致200),所以我认为问题是来自我们的Artifactory服务器的连接。这似乎不值得作为一个答案添加,但我将把它留在这里,以防它帮助其他遇到类似问题的人。

这里是我们的Gradle配置的一个片段,它可以工作:

buildscript {
    repositories {
        maven {
            url "http://[artifactory-url]:7980/artifactory/libs-release"
        }
    }
    dependencies {
        classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:1.2"
    }
}
apply plugin: 'org.sonarqube'

我能看到的唯一区别是,我们将/artifactory/libs版本放在maven url中,而您有/artifactory/plugins版本。也许您应该尝试指向libs release,看看它是否有效?

我将从在Artifactory中运行跟踪请求开始。这将为您提供更多关于Artifactory试图从虚拟存储库解析文件的信息。在您的情况下,跟踪请求应该是针对http://[artifactory url]:8081/artifactory/plugins release/org/sonarsource/scanner/gradle/sonarqube-gradle-plugin/1.2.pom?traceI尝试模拟您的头部请求如下:>curl-I结果是303参见其他,还有一个前向定位:成功地使用curl-IL重新运行重定向。你们有一家旧的手工艺品厂吗?或者可能它被锁定得无法重定向?啊,对不起-我以为我添加了进一步的更新,但显然没有提交-我看到同样的事情在我的机器上通过邮递员发送邮件,所以这里一定是防火墙/代理问题。我已经提出了适当的要求所以我会祈祷。。。谢谢你的帮助!谢谢-很好的建议,我试过了,但没有成功。我可以从@drorb建议的跟踪中看出,它正试图从plugins.gradle.org下载它,但当它执行HEAD请求时,会得到501。不知道该怎么办。。。