首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sonar-maven-plugin不会在代理后下载jars

sonar-maven-plugin不会在代理后下载jars
EN

Stack Overflow用户
提问于 2016-01-29 14:36:13
回答 2查看 2.7K关注 0票数 1

我的pom.xml中有以下内容来启用声纳插件:

代码语言:javascript
复制
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>sonar-maven-plugin</artifactId>
  <version>2.7.1</version>
</plugin>

我还设置了属性来定义在端口80上运行的服务器:

代码语言:javascript
复制
<properties>
  <sonar.host.url>http://sonar.for.truelocal.com.au/</sonar.host.url>
</properties>

当从我的竹子服务器运行这段代码时,一切正常,并将分析发送到服务器。

然后我想在我的本地环境中运行一个预览报告。我的本地环境是运行在代理服务器后面的带有Java7的Mac10.11.2。

我在我的dev Maven配置文件中添加了一些额外的属性:

代码语言:javascript
复制
<sonar.analysis.mode>preview</sonar.analysis.mode>
<sonar.issuesReport.console.enable>true</sonar.issuesReport.console.enable>
<sonar.issuesReport.html.enable>true</sonar.issuesReport.html.enable>

不幸的是,声纳步骤失败,出现以下错误:

代码语言:javascript
复制
[DEBUG] Create : /Users/w26702/.sonar/cache/_tmp
[DEBUG] Extract sonar-runner-batch in temp...
[DEBUG] Get bootstrap index...
[DEBUG] Download: http://sonar.for.truelocal.com.au/batch_bootstrap/index
[DEBUG] Get bootstrap completed
[DEBUG] Download http://sonar.for.truelocal.com.au/batch/sonar-batch-shaded-5.2.jar to /Users/w26702/.sonar/cache/_tmp/fileCache3157929989449184462.tmp
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.1:sonar (default) on project truelocal-api: Fail to download libraries from server: Fail to download sonar-batch-shaded-5.2.jar to /Users/w26702/.sonar/cache/_tmp/fileCache3157929989449184462.tmp: timeout: Read timed out -> [Help 1]

请注意,最后一行指定了一个与我在pom中引用的插件不同的插件。这是因为在org.codehaus.mojo 2.7.1不起作用后,我切换到了org.sonarsource.scanner.maven 3.0.1,但它没有任何区别。

当我运行构建时,我登录到我的sonarqube服务器,并通过访问日志跟踪,我实际上看到了对/batch_bootstrap/index和/batch/sonar-batch-shaded-5.2.jar的请求,HTTP 200OK。

看起来索引被接收回来了,但是.jar没有。

然后,我在我的web浏览器中手动浏览了jar地址,它被正确下载了。

然后,我断开了与公司网络的连接,转而连接到没有代理的电话上。

当像这样运行时,jars被下载,并且分析运行时没有问题。

当我将我的机器放回代理之后时,分析继续运行,没有问题,因为jars现在已经成功下载。

所以我的问题是,在代理之后下载jars的插件有没有bug?

我不能排除我的公司网络导致问题的可能性,但其他jar,包括sonar-maven-plugin jar本身都没有问题。

我的Sonarqube服务器版本是使用PostgreSQL后端的Amazon Linux上的5.1-1。

EN

回答 2

Stack Overflow用户

发布于 2016-03-29 23:08:41

此版本的sonar- Maven -plugin似乎无法从Maven settings.xml获取代理参数

因此您需要在javaOpts中提供代理参数:

例如:

代码语言:javascript
复制
mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.1:sonar -Dhttp.proxyHost=proxy.mycompagny.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.mycompagny.com -Dhttps.proxyPort=8080
票数 4
EN

Stack Overflow用户

发布于 2016-01-29 17:08:28

一些用户已经报告说,一些公司代理正在根据用户代理过滤内容。这可能解释了为什么允许您从浏览器而不是Maven下载JAR。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35078304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档