2016-08-09 8 views
0

Я пытаюсь проанализировать проект git с помощью SonarQube и запустить его через Jenkins, однако выход Console дает мне ошибку, когда я пытаюсь построить.Пытаюсь использовать SonarQube на Jenkins для анализа проекта, но Jenkins использует JDK 1.7, и я получаю неподдерживаемую ошибку версии major.minor

java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/ 
EnvironmentInformation : Unsupported major.minor version 52.0 

Скриншот ->http://i.imgur.com/Jb7Wngu.png

Что я узнал средства я использую более высокую JDK во время компиляции, чем я во время выполнения. Когда я SSH в машине, хостинг Дженкинс и сервер SonarQube и запустить

java -version 

выводит:

openjdk version "1.8.0_91" 
OpenJDK Runtime Environment (build 1.8.0_91-b14) 
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode) 

Что и должно be-- SonarQube 5.6 Потребности Java 1.8 Я считаю?

Скриншот ->http://i.imgur.com/8wJzksI.png

Но я редактировать Дженкинс строить, чтобы выполнить команду оболочки в начале и было его запустить

java -version 

и выводимый Java версии "1.7.0_79"

Скриншот -> i.imgur.com/ghGWpZx.png (в нижней части)

Может кто-нибудь сказать мне, что я делаю неправильно? Как заставить Jenkins использовать JDK 1.8? В моих настройках все выглядит так, как будто он правильно настроен

Скриншот -> i.imgur.com/3IXXEzg.png

[извините, пришлось удалить несколько гиперссылок, так как у меня нет достаточного количества SO респ, чтобы отправить более чем 2 ссылки]

спасибо за вашу помощь

ответ

0

Убедитесь, что вы используете свою Дженкинс и сонар на тот же версии JDK. Прежде чем обновлять Jenkins до Java 1.8, убедитесь, что ваша база кода готова к миграции Java 8, если вы не переключите свой Sonar на Java 7.

1

Да SonarQube 5.6 требует Java 8, но это не заставляет вас изменять Java-версии, на которой работает Jenkins, и Java, с которой вы компилируете свой код.

Если вы можете переключить все на Java 8 и выгрузить Java 7, то это самое простое решение.В противном случае Дженкинс может управлять несколькими JDKs параллельно (JDK installations под установкой Jenkins), а затем для SonarQube сканирования:

  • если проанализировать с помощью сканера SonarQube, вы можете выбрать JDK сканер должен работать с (в настройки, под Выполнить SonarQube Scanner, ранее Invoke Standalone сонара анализ)
  • если проанализировать с SonarQube Сканер для Maven (кажется, в данном случае), а затем, используя различные JDKs между двумя шагами Maven не straightforwar д. Либо настройте два разных задания (один для построения с определенным JDK и один для сканирования с другим JDK), либо изучите Pipeline alternative (где вы можете выбрать разные JDK).

 Смежные вопросы

  • Нет связанных вопросов^_^