SonarLint для Eclipse Neon не подключается к серверу SonarQube

В настоящее время я не могу подключиться к своему серверу SonarQube с помощью SonarLint в Eclipse Neon. Подробности об установке можно найти в нижней части этого сообщения.

После открытия представления для добавления сервера SonarQube через Menu/Window/Show View/Other/SonarQube Servers я ввел URL-адрес своего веб-интерфейса: http://10.231.83.124:9000

Затем я добавляю имя пользователя и пароль, которые я использую для входа через веб-интерфейс. При нажатии кнопки Проверить соединение я получаю следующую трассировку стека внутри консоли SonarQube:

Невозможно обновить данные с сервера xxx:

java.lang.IllegalStateException
    at org.sonarsource.sonarlint.core.container.connected.SonarLintWsClient.handleError(SonarLintWsClient.java:123)
    at org.sonarsource.sonarlint.core.container.connected.validate.ServerVersionAndStatusChecker.fetchServerInfos(ServerVersionAndStatusChecker.java:102)
    at org.sonarsource.sonarlint.core.container.connected.validate.ServerVersionAndStatusChecker.checkVersionAndStatus(ServerVersionAndStatusChecker.java:61)
    at org.sonarsource.sonarlint.core.container.connected.validate.ServerVersionAndStatusChecker.checkVersionAndStatus(ServerVersionAndStatusChecker.java:51)
    at org.sonarsource.sonarlint.core.WsHelperImpl.validateConnection(WsHelperImpl.java:48)
    at org.sonarsource.sonarlint.core.WsHelperImpl.validateConnection(WsHelperImpl.java:43)
    at org.sonarlint.eclipse.core.internal.server.Server.testConnection(Server.java:323)
    at org.sonarlint.eclipse.ui.internal.server.wizard.ServerConnectionTestJob.run(ServerConnectionTestJob.java:44)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)

Поскольку я не смог найти никакой информации о своей проблеме в сети, я теперь надеюсь на некоторую помощь, разместив свою проблему в Интернете. Могу предоставить следующую дополнительную справочную информацию:

eclipse.buildId=4.6.1.M20160907-1200
java.version=1.8.0_111
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -data file:/opt/workspace/ -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product

Я не смог установить SonarLint через Marketplace из-за ошибки о том, что содержимое недоступно. Вот почему я вручную загрузил zip-файл с https://bintray.com/sonarsource/SonarLint-for-Eclipse/releases/3.0.0 и установил подключаемый модуль в Eclipse, используя Меню/Справка/Установить новое программное обеспечение...

Я работаю над (cat /proc/version):

Linux version 3.16.0-4-amd64 ([email protected]) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19)

Версия сервера SonarQube: v6.2 На сервере установлены следующие версии плагинов (Меню > Администрирование > Система > Центр обновлений > Установлено):

  • C# 5.5.1.522
  • Гит 1.2
  • Ява 4.3.0.7717
  • JavaScript 2.18.0.3454
  • СВН 1.3

Я могу предоставить следующую информацию об установке eclipse: Версия: Neon.1a Release (4.6.1) Идентификатор сборки: 20161007-1200

Версия SonarLint — 3.0.0.201704111237 (см. ссылку для скачивания выше: bintray.com/sonarsource/SonarLint-for-Eclipse/releases/3.0.0‌​). Я также могу пропинговать свой сервер по предоставленному ip. Согласно веб-сайту (sonarlint.org/eclipse), SonarLint совместим со всеми версиями SonarQube 5.6 или выше. Также проверил используемую версию Java: версия java "1.8.0_111" Java(TM) SE Runtime Environment (сборка 1.8.0_111-b14) Java HotSpot(TM) 64-битный сервер VM (сборка 25.111-b14, смешанный режим)

org.eclipse.equinox.p2.core.ProvisionException: Unable to read repository at sonarsource.bintray.com/SonarLint-for-Eclipse/releases/3.0.0‌​/…. ...Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Проблема, похоже, в отсутствии сертификатов в JVM. Чтобы добавить сертификаты, используйте следующее онлайн-руководство: connect2id.com/blog/importing-ca-root-cert-into-jvm-trust-st‌​ore

После устранения проблемы с сертификатом я удалил плагин и переустановил его с помощью Eclipse Marketplace. Все еще получаю ту же ошибку при попытке подключиться к серверу Sonarqube:

Starting SonarLint for Eclipse 3.0.0.201704111237 SonarLint analysis of file /participant/pom.xml... Starting standalone SonarLint engine 3.0.0.201704111237... Found 0 issue(s) SonarLint analysis of file /participant/src/test/java/de/mycompany/services/an/Particip‌​antTest.java... Found 0 issue(s) SonarLint analysis of project participant (3 files)... Found 3 issue(s) java.lang.IllegalStateException [...]

Удалил eclipse, переустановил ecilpse neon 3 вместо 1a и установил плагин SonarLint через Marketplace. Та же проблема снова после нажатия кнопки «Проверить соединение»: он начинает перечислять файлы, а затем генерирует трассировку стека в консоли, как было первоначально опубликовано и показано в последнем моем комментарии.

При настройке сервера для подключения я ввожу порт как часть URL-адреса: 10.20.30.40:9000. Это верно? Если я не укажу порт 9000, возвращается ошибка 503. Я также ввел неверный IP-адрес, чтобы посмотреть, не появится ли другое сообщение об ошибке. У меня снова такая же ошибка - никакой разницы. Вроде как сервера вообще нет, но я могу пропинговать сервер.

Я также попробовал SonarLint-Plugin для IntelliJ, и у меня возникла та же проблема с подключением к серверу.

Разрешения на моем сервере SonarQube настроены следующим образом: я добавил новую группу myGroup к существующим, называемым Anywhere и sonar-administrators.

Глобальные разрешения: (порядок = Администрирование системы, Администрирование профилей качества, Администрирование шлюзов качества, Выполнение анализа, Создание проектов)

  • Любой: 0,0,0,1,0
  • сонар-администраторы: 1,1,1,1,1
  • моя группа: 0,0,0,1,0

Кроме того, я настроил шаблоны разрешений, установив шаблон по умолчанию следующим образом: (порядок = Обзор, Просмотр исходного кода, Администрирование проблемы, Администрирование, Выполнение анализа)

  • Создатели проекта: 1,1,1,1,1
  • Любой: 1,0,0,0,0
  • сонар-администраторы: 0,0,1,1,0
  • моя группа: 1,1,0,0,1

Большое спасибо за любую помощь.

С уважением, Даниэль


person Phoenix_133    schedule 20.04.2017    source источник


Ответы (1)


SonarQube и SonarLint должны иметь совместимые версии. Ваш SonarQube 6.2, а как насчет вашего SonarLint? Я получил аналогичную ошибку, установив последнюю версию SonarLint для гораздо более старого SonarQube.

Более того, просто чтобы отложить в сторону любые проблемы с сетью, можете ли вы пропинговать свой сервер SonarQube?

person Jacopo Lanzoni    schedule 20.04.2017
comment
Затем я бы исследовал, почему вы не можете установить SonarLint через торговую площадку Eclipse. Поскольку SonarLint поддерживается Eclipse Neon (4.6). - person Jacopo Lanzoni; 20.04.2017
comment
Примечание: использование Java 1.8.0_111 вместо 1.8.0_112. Обновлен вопрос выше, чтобы включить ответ: теперь SonarLint можно установить через Marketplace, но улучшений по-прежнему нет. Также попробовал IntelliJ с SonarLint, и все равно не повезло. - person Phoenix_133; 27.04.2017
comment
Решение следующее: важен порядок свойств внутри настроек профиля вашего maven settings.xml! Сначала вы должны определить sonar.login перед определением sonar.host.url. Порядок не должен иметь значения внутри xml, но он имеет значение. Будьте внимательны: ‹profiles› ‹profile› ‹id›sonar‹/id› ‹activation› ‹activeByDefault›true‹/activeByDefault› ‹/activation› ‹properties› ‹sonar.login›e2cdf‹/sonar.login› ‹sonar .host.url› mysonarserver:9000 ‹/sonar.host.url› ‹/properties› ‹/profile›.. . - person Phoenix_133; 28.04.2017
comment
@ Phoenix_133 - Привет, у меня такая же проблема, и это сводит меня с ума - где этот файл settings.xml, о котором ты говоришь? Спасибо - person outofmind; 18.05.2017