我的Java项目是在1.8中通过Maven编写和编译的。当我尝试使用 sonar-maven-plugin Ver. 分析我的代码时,出现以下错误:SonarQube 9.2.4 为 3.9.1.2184。
提到了以下参数。
sonar.java.jdkHome=D:.....\jdk1.8.0_121 sonar.java.source=1.8
目标 org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar 的执行 default-cli 失败:执行 org.sonarsource.scanner.maven:sonar-maven-plugin:3.9 时遇到 API 不兼容。 1.2184:sonar: java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation 已由更新版本的 Java 运行时(类文件版本 55.0)编译,此版本的 Java 运行时仅识别类文件版本至 52.0 [错误] ---------------------------------------------------------- -------- [错误] 领域 = 插件>org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184 [错误] 策略 = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy [错误] urls[0] = 文件:/../.m2/repository/org/sonarsource/scanner/maven/sonar-maven-plugin/3.9.1.2184/sonar-maven-plugin-3.9.1.2184.jar [错误] url [1] = 文件:/../.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar [错误] 外部导入数量:1 [错误]导入:Entry[从领域ClassRealm导入[maven.api,父级:null]]
我的jenkins构建刚刚开始失败并显示以下消息:
[INFO] --- sonar-maven-plugin:2.7:sonar (default-cli) @ cividas-core-web ---
[INFO] artifact com.ontimize:ontimize-core: checking for updates from central
[INFO] artifact com.ontimize:ontimize-core: checking for updates from imatia-local
[INFO] artifact com.ontimize:ontimize-core: checking for updates from snapshots
[INFO] User cache: /var/lib/jenkins/.sonar/cache
[INFO] SonarQube version: null
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.773s
[INFO] Finished at: Thu Oct 22 19:49:04 CEST 2015
[INFO] Final Memory: 13M/193M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.7:sonar (default-cli) on project cividas-core-web: null: MojoExecutionException: NullPointerException -> …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用maven支持设置SonarQube(v.4.5.6).我相信我的配置是正确的,但我不能让SonarQube分析运行没有错误.
我的项目依赖项:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-ldap</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>${logstash-logback-encoder.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<version>${spring-security-test.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
声纳Maven的插件:
<plugin>
<groupId>org.codehaus.mojo</groupId> …
Run Code Online (Sandbox Code Playgroud) 我正在使用sonar-maven-plugin 3.2和maven 3.3.9.在父POM中,我定义了sonar.projectKey maven属性.该值已生效,我可以从声纳的打印输出中看到它.但是mvn声纳:声纳步骤失败,因为maven模块使用相同的项目键值,因为maven属性在所有模块中具有相同的值.声纳给出错误:
项目'...'不能有2个带以下密钥的模块:...
真的没有办法让一个包含所有maven模块的声纳项目吗?所有模块都必须是真正不同的声纳项目吗?
我知道我可以使用分支属性作为黑客,但我想避免这样做.如果有一种方法可以在声纳中使用单个项目键来包含maven多模块项目,包含所有maven模块,那将是最好的......
我们的jacoco.exec
文件有几个不同的错误,请参阅下面的错误类型.
能否帮助我们解决这个问题,我们至少有25%的构建失败Jacoco
.
错误类型1:
09:18:17 [INFO] ------------------------------------------------------------------------
09:18:17 [INFO] BUILD FAILURE
09:18:17 [INFO] ------------------------------------------------------------------------
09:18:17 [INFO] Total time: 02:02 min
09:18:17 [INFO] Finished at: 2015-12-22T09:18:17+01:00
09:18:17 [INFO] Final Memory: 148M/2933M
09:18:17 [INFO] ------------------------------------------------------------------------
09:18:17 [ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.7.1:sonar (default-cli) on project athena: Unable to read /repo/jenkins/production/workspace/CSW_All_Build_PreMerge-gate/support-functions/Common/target/jacoco.exec: malformed input around byte 2 -> [Help 1]
09:18:17 [ERROR]
09:18:17 [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
09:18:17 [ERROR] …
Run Code Online (Sandbox Code Playgroud) 我的所有这些工具都报告了与 JaCoCo 相同的覆盖范围:69% 的线路覆盖率和 23% 的分支覆盖率。
注意:屏幕截图是在几天内拍摄的,因此它们的值略有不同,但差异 < 1%
然而,声纳报告了不同的值:
Maven项目结构如下:
您可以看到 main 和 java 模块上报告的覆盖率相同,而 js 模块上没有覆盖率。
我正在使用最新版本的jacoco
和jacoco-maven-plugin
Sonar 的Java Plugin
.
以下是相关的构建日志片段mvn sonar:sonar
——所有这些似乎都按顺序排列:
$ egrep -i 'jacoco|\[warn]' consoleText
[WARN] [04:34:29.569] 'sonar.dynamicAnalysis' is deprecated since version 4.3 and should no longer be used.
[WARN] [04:34:29.576] 'sonar.dynamicAnalysis' is deprecated since version 4.3 and should no longer be used.
[WARN] [04:34:29.593] 'sonar.dynamicAnalysis' is deprecated since version 4.3 and should …
Run Code Online (Sandbox Code Playgroud) 我们的 Sonar 用例为存储库的每个分支创建新的 Sonar 项目。我们如何自动将新分支项目与(非默认)质量配置文件和质量门关联起来?
如果相关的话,我们将在 Maven 项目中运行它。
我的 maven-sonar 设置有问题。我需要将所有项目文件包含在src/main/java和src/main/resources中,以便 SonarQube 将显示我所有文件的结果,但排除src/main/resources/static/file中的一些文件。对于测试路径,它已经默认设置在src/test/java
这就是我设置 POM.XML 的方式
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
<!-- Sonar static analysis / Jacoco code coverage -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<start-class>com.Example.wp.WpCoreApplication</start-class>
<java.version>1.8</java.version>
<sonar.sources>src/main/java, src/main/resources</sonar.sources>
<sonar.exclusions>src/main/resources/static/file</sonar.exclusions>
</properties>
<dependencies>
<!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-cassandra</artifactId>
</dependency> -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-neo4j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.debatty</groupId> …
Run Code Online (Sandbox Code Playgroud) 我发现我不是 14 小时前唯一一个遇到此问题的人。
在我的办公室,其他项目也失败了,但显示的消息引用了 sonar-maven-plugin:2.6:sonar
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.7:sonar (default-cli) on project x: Unable to determine structure of project.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?