avec Java 8, exécution gradle Sonarrunner code> montre ce message d'erreur.
(Sonarqube Version: 4.2.1)
java.lang.ArrayIndexOutOfBoundsException: 26721
at org.objectweb.asm.ClassReader.readClass(Unknown Source) [asm-all-3.2.jar:5.0_BETA]
at org.objectweb.asm.ClassReader.accept(Unknown Source) [asm-all-3.2.jar:5.0_BETA]
at org.objectweb.asm.ClassReader.accept(Unknown Source) [asm-all-3.2.jar:5.0_BETA]
at org.sonar.java.bytecode.asm.AsmClassProviderImpl.decoracteAsmClassFromBytecode(AsmClassProviderImpl.java:76) [java-squid-2.0.jar:na]
at org.sonar.java.bytecode.asm.AsmClassProviderImpl.getClass(AsmClassProviderImpl.java:55) [java-squid-2.0.jar:na]
at org.sonar.java.bytecode.asm.AsmClassVisitor.visit(AsmClassVisitor.java:52) [java-squid-2.0.jar:na]
at org.objectweb.asm.ClassReader.accept(Unknown Source) [asm-all-3.2.jar:5.0_BETA]
at org.objectweb.asm.ClassReader.accept(Unknown Source) [asm-all-3.2.jar:5.0_BETA]
```
3 Réponses :
Il sera pris en charge très bientôt. Voir http://jira.codehaus.org/browse/sonarjava-386 . p>
Il y a 2 côtés à votre question: p>
L'erreur que vous recevez provient du plugins Java Ecosystem téléchargés pour le client et s'appuyer sur une ancienne version d'ASM (3.2). Afaik Java 8 Support commence par la version 5.0. Vous aurez le même problème avec Findbugs et Jacoco. Voir aussi Cette discussion . p>
En ce qui concerne le serveur Sonarqube, vous pouvez le démarrer, mais il se bloque lorsque vous sélectionnez "Configurer les widgets", donc je dirais non, il ne supporte pas Java 8 encore. P>
sonarqube Supports Java 8 depuis fin mars 2014 (avec quelque Hickups à Tout d'abord, qui ont été corrigés dans la version 2.2 de son plugin Java).
Je devais désinstaller les plug-ins de PMD et de Checkstyle dans le centre de mise à jour de Sonar, car ceux-ci ne sont pas prêts pour Java 8. Le sournois de moteur de règle de Sonar doit faire de ces plug-ends de toute façon. . P>
Si vous utilisez Gradle 1.11 pour appeler Sonar et que Jacoco Calculez la couverture du code, vous devrez spécifier la dernière version Jacoco afin d'analyser Java 8 Bytecode. P>
Voici mon script qui fait que quand appelé avec Test de gradle Jacocotestreporte Sonarrunner code>: P>
/** This script is responsible for unit testing and static analysis of the project source code*/
apply plugin: "jacoco"
apply plugin: "sonar-runner"
// Location of the XML unit test and code coverage reports
def testResultsDir = "$buildDir/test-results/" // Use double quotes. Otherwise the $ won't work
jacoco{
// Gradle 1.11 ships with a Jacoco version that doesn't support Java 8
toolVersion = "0.7.0.201403182114"
}
// Call "gradle test jacocoTestReport" to produce a code coverage report at "build/reports/jacoco/test/html/index.html"
test {
jacoco {
def coverageReport = new File(testResultsDir, "jacocoTest.exec")
destinationFile = file(coverageReport)
}
}
// Let SonarQube analyze the project
sonarRunner {
sonarProperties {
property "sonar.projectKey", projectId
property "sonar.projectName", projectName
property "sonar.junit.reportsPath", testResultsDir
// Address of SonarQube server
property "sonar.host.url", "http://localhost:9000"
// SonarQube stores the test results in this database
property "sonar.jdbc.url", "jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true"
property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
property "sonar.jdbc.username", "root"
property "sonar.jdbc.password", sonarDBpassword
}
}
J'ai mis à jour au 2.2.1 Thru Update Center, pour un projet Java8 et en cours d'exécution: MVN Sonar: Sonar. Problème Néanmoins: il ne montre aucune couverture de test de l'unité, seulement un tableau de bord où le% devrait être. N'importe quel indice?
@Rop: utilisez-vous Jacoco pour la couverture de code? Si oui, assurez-vous d'utiliser une version de Jacoco qui prend en charge Java 8.
Je viens d'installer Sonarqube-4.3 et l'actualisation du Centre de mise à jour à Java-2.2.1. Quelque chose d'autre que je dois faire? Ici, les fichiers jacoco que je peux trouver dans Install-dir :./extensions/plugins/sonar-jacoco-plugin-2.2.1.jar ./lib/bundled-plugins/sonar-jacoco-plugin-2.1.jar ./web /Deploy/plugins/jacoco/meta-inf/lib/asm-debug-all-5.0.j ar ./web/deploy/plugins/jacoco/meta-inf/lib/org.jacoco.agent-0. 7.0.201403182114.jar ./web/deploy/plugins/jacoco/meta-inf/lib/org.jacoco.core-0.7 .0.201403182114.jar ./web/deploy/plugins/jacoco/sonar-jacoco-plugin- 2.2.1.jar
@Rop: Il est probablement préférable de commencer une propre question au lieu de discuter de cela dans les commentaires.
Ici: Stackoverflow.com/questions / 23923443 / ...
Ne devriez-vous pas demander la liste de diffusion de ce projet?
Cette question semble être hors sujets car il s'agit de la chronologie de l'évolution de sonarqube