为了账号安全,请及时绑定邮箱和手机立即绑定

SonarQube 不使用 IntelliJ 和 Maven 分析主要的 Java 代码

SonarQube 不使用 IntelliJ 和 Maven 分析主要的 Java 代码

大话西游666 2021-11-03 14:34:03
我在我的项目中使用 IntelliJ 和 Maven,我必须用 SonarQube 对其进行分析,但是当我使用 webApp 提供的命令扫描我的项目时,它只分析 pom.xml 文件,而忽略了项目的其余部分。分析结果干净安装声纳:sonar -Dsonar.host.url= http://localhost:9000 -Dsonar.login="这里对应的key"我的 pom.xml(项目标签里面是什么):<groupId>cl.itau.simulacionCredito</groupId><artifactId>SimulacionCreditoIntelliJ</artifactId><version>1.0</version><dependencies>    <dependency>        <groupId>org.testng</groupId>        <artifactId>testng</artifactId>        <version>RELEASE</version>        <scope>test</scope>    </dependency>    <!-- https://mvnrepository.com/artifact/com.beust/jcommander -->    <dependency>        <groupId>com.beust</groupId>        <artifactId>jcommander</artifactId>        <version>1.72</version>    </dependency></dependencies><properties>    <maven.compiler.source>6</maven.compiler.source>    <maven.compiler.target>1.6</maven.compiler.target></properties><build>    <plugins>        <plugin>            <groupId>org.apache.maven.plugins</groupId>            <artifactId>maven-surefire-plugin</artifactId>            <version>2.22.0</version>            <configuration>                <excludes>                    <exclude>**/HomeTest.java</exclude>                    <exclude>**/PropuestaTest.java</exclude>                </excludes>            </configuration>        </plugin>        <plugin>            <groupId>org.apache.maven.plugins</groupId>            <artifactId>maven-deploy-plugin</artifactId>            <version>3.0.0-M1</version>        </plugin>        <plugin>            <groupId>org.sonarsource.scanner.maven</groupId>            <artifactId>sonar-maven-plugin</artifactId>            <version>3.5.0.1254</version>        </plugin>    </plugins></build>由于在尝试解决此问题时出现不同的错误,我一直在向 POM 添加内容。我安装了最新版本的 SonarQube。
查看完整描述

2 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

Sonarqube 通过分析 jacoco 输出来工作。我在你的 pom 中没有看到 jacoco 的任何配置。 https://www.petrikainulainen.net/programming/maven/creating-code-coverage-reports-for-unit-and-integration-tests-with-the-jacoco-maven-plugin/是一个关于如何设置的好教程起来。

您还必须告诉 sonarqube 您的 jacoco.exec 文件所在的位置。 https://docs.sonarqube.org/display/PLUG/Code+Coverage+by+Unit+Tests+for+Java+Project


查看完整回答
反对 回复 2021-11-03
?
慕少森

TA贡献2019条经验 获得超9个赞

所以,问题是 IntelliJ 配置了 Java SE 开发工具包 11,我降级到 Java SE 开发工具包 8u181 并配置了 POM,以便 Maven 使用该更改,我再次执行扫描器并且它工作了。


对 pom.xml 的更改:


<properties>

    <maven.compiler.source>1.8</maven.compiler.source>

    <maven.compiler.target>1.8</maven.compiler.target>


    <sonar.sources>src/main/java</sonar.sources>

</properties>

添加:


<plugin>

   <groupId>org.apache.maven.plugins</groupId>

      <artifactId>maven-compiler-plugin</artifactId>

         <version>3.8.0</version>

         <configuration>

            <source>8</source>

            <target>8</target>

         </configuration>

</plugin>


查看完整回答
反对 回复 2021-11-03
  • 2 回答
  • 0 关注
  • 272 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信