Пришлось обновить версию ассемблера maven до 1.1.8 с 1.1.6. Это единственное изменение, которое произошло, и теперь Sonar Maven Plugin бросает это исключение:Плагин Sonar Maven не работает из-за более нового плагина ассемблера maven, как я могу заставить новый плагин правильно передать свойства?
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar
(default) on project ReconCoverage: java.util.ArrayList cannot be cast to java.lang.String ->
Плагины:
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>2.7</version>
<groupId>com.CORPNAME.raptor.build</groupId>
<artifactId>assembler-maven-plugin</artifactId>
<version>1.1.8</version>
Я смотрел на это в течение недели, обновление до этой ассемблере версии требуется , Никакие другие команды не испытывают эту проблему от обновления, потому что они используют Sonar через jenkins. Я использую плагин maven, потому что наш проект имеет много модулей, и он структурирует результаты покрытия, чтобы соответствовать ему.
Я просмотрел код сонара и, похоже, это происходит в sonar.batch.bootstrap.userproperties. Я предполагаю, что это происходит, когда гидролокатор свойства передается в пункты, как: sonar.language, sonar.java.coveragePlugin, sonar.host.url и т.д. и т.п.
Пример охвата Свойства:
<sonar.language>java</sonar.language>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.host.url>http://corp.sonar.url/</sonar.host.url>
<sonar.jdbc.url>jdbc:oracle:thin:@sonardb.corp.com:0000:sonardb</sonar.jdbc.url>
<sonar.jdbc.username>username</sonar.jdbc.username>
<sonar.jdbc.password>password</sonar.jdbc.password>
<sonar.jdbc.driver>oracle.jdbc.driver.OracelDriver</sonar.jdbc.driver>
Согласно коду сонара, он обычно берет свойства через карту. И это исключает это исключение, когда одна из этих строк является списком массивов. В любом случае, чтобы настроить мои свойства так, чтобы новый ассемблер maven правильно передал эти значения?
Java-версия 7 несовместима с этим плагином. Не удалось обновить это в настоящее время. Есть ли версия, которая включает это, но работает для версии 51? – Lencalot
Нет, мы не поддерживаем Java 7. Обратите внимание, что вы можете создать проект с Java 7 (mvn clean package), а затем запустить анализ SonarQube с помощью Java 8 (сонар mvn: сонар). Другой вариант - использовать инструментальные средства Maven. –