将我的POM升级到sonar-maven-plugin后:2.7配置不再起作用。我在settings.xml中的配置如下:
<profile>
<id>sonar</id>
<properties>
<sonar.jdbc.url>jdbc:postgresql://my.server:5432/sonar</sonar.jdbc.url>
<sonar.jdbc.driverClassName>org.postgresql.Driver</sonar.jdbc.driverClassName>
<sonar.jdbc.username>xxxxx</sonar.jdbc.username>
<sonar.jdbc.password>yyyyy</sonar.jdbc.password>
<sonar.host.url>http://my.server</sonar.host.url>
</properties>
</profile>
当然,构建以 -Psonar 开始。使用2.6版本,一切都很好,我得到2.7
[INFO] --- sonar-maven-plugin:2.7:sonar (default-cli) @ myproject ---
[INFO] User cache: C:\Users\me\.sonar\cache
[ERROR] SonarQube server 'http://localhost:9000' can not be reached
...
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.7:sonar (default-cli) on project myproject: Fail to download libraries from server: java.net.ConnectException: Connection refused: connect -> [Help 1]
使用 -X 启动构建会在两种情况下为我提供正确的mojo配置,尤其是日志中的url仍然正确
[DEBUG] (f) sonarHostURL = http://my.server
即使删除提到的缓存目录也无济于事。
除了管理2.6版的插件外,我该怎么办?
答案 0 :(得分:11)
我们正在调查此问题。已创建故障单:https://jira.sonarsource.com/browse/MSONAR-129
与此同时,你可以将SQ插件锁定到2.6版本,或者使用命令行传递所有属性。
答案 1 :(得分:8)
解决方法:将-Dsonar.host.url = http://my.server:9000添加到mvn命令对我有用
答案 2 :(得分:2)
比禁用插件更好,您可以将插件版本修复为2.6,考虑到sonar.host.url,它可以正常工作。
例如,在我的情况下使用Maven:
<pluginManagement>
</plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>2.6</version>
<!-- sonar.host.url not working with version 2.7 -->
</plugin>
</plugins>
</pluginManagement>
答案 3 :(得分:2)
我使用CI服务器中的完全合格目标来运行声纳目标:
mvn org.codehaus.mojo:sonar-maven-plugin:2.6:sonar
由于我们使用TeamCity中的模板,因此这不是一场灾难。我们对这次活动感到有些惊讶。
答案 4 :(得分:0)
两者
“mvn -Dsonar.host.url = http://localhost:9000 org.codehaus.mojo:sonar-maven-plugin:2.6:sonar”
和
“mvn -Dsonar.host.url = http://localhost:9000 org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar”
为我工作。
答案 5 :(得分:-1)
我没有重新配置所有作业,而是为所有作业禁用声纳,直到修复为止。我添加了
<sonar.skip>true</sonar.skip>
到settings.xml中的声纳配置文件。