Ответ 1
Обход проблемы: добавление -Dsonar.host.url = http://my.server:9000 в команду mvn для меня работает
После обновления моих POMs до 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?
Обход проблемы: добавление -Dsonar.host.url = http://my.server:9000 в команду mvn для меня работает
Мы изучаем этот вопрос. Билет был создан: https://jira.sonarsource.com/browse/MSONAR-129
Тем временем вы можете заблокировать плагин SQ до версии 2.6 или передать все свойства с помощью командной строки.
Лучше, чем отключить плагин, вы можете исправить версию плагина до версии 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>
Я использую полностью квалифицированную цель на сервере CI для запуска целей сонара:
mvn org.codehaus.mojo:sonar-maven-plugin:2.6:sonar
Поскольку мы используем шаблоны в TeamCity, это не столько катастрофа. Тем не менее мы были немного удивлены событием.
Оба
"mvn -Dsonar.host.url = http://localhost:9000 org.codehaus.mojo: sonar-maven-plugin: 2.6: сонар"
и
"mvn -Dsonar.host.url = http://localhost:9000 org.sonarsource.scanner.maven: sonar-maven-plugin: 3.2: сонар"
работал у меня.
Вместо реконфигурации всех заданий я отключил сонар для всех заданий, пока это не будет исправлено. Я добавил
<sonar.skip>true</sonar.skip>
для профиля сонара в settings.xml.