私たちのMavenアセンブラのバージョンを1.1.6から1.1.8にアップデートしなければなりませんでした。それは起こった、今ソナーのMavenプラグインは、この例外がスローされる唯一の変化です:新しいMavenアセンブラプラグインのためにSonar 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>
ソナーのコードによれば、通常、マップを通じてプロパティを取得します。これらの文字列の1つが配列リストである場合、この例外がスローされます。新しいMavenアセンブラがこれらの値を正しく渡すようにプロパティを設定する必要はありますか?最後に
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.1.1</version>
Javaバージョン7は、このプラグインと互換性がありません。現時点ではアップグレードできません。そのバージョンは含まれていますが、バージョン51には対応していますか? – Lencalot
いいえ、Java 7はサポートしていません。Java 7(mvn cleanパッケージ)を使用してプロジェクトを構築し、次にJava 8(mvn sonar:sonar)を使用してSonarQube分析を実行することができます。別のオプションは、Mavenのツールチェーンを使用することです。 –