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

我在我的项目中使用 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。


大话西游666
浏览 273回答 2
2回答

慕雪6442864

Sonarqube 通过分析 jacoco 输出来工作。我在你的 pom 中没有看到 jacoco 的任何配置。&nbsp;https://www.petrikainulainen.net/programming/maven/creating-code-coverage-reports-for-unit-and-integration-tests-with-the-jacoco-maven-plugin/是一个关于如何设置的好教程起来。您还必须告诉 sonarqube 您的 jacoco.exec 文件所在的位置。&nbsp;https://docs.sonarqube.org/display/PLUG/Code+Coverage+by+Unit+Tests+for+Java+Project

慕少森

所以,问题是 IntelliJ 配置了 Java SE 开发工具包 11,我降级到 Java SE 开发工具包 8u181 并配置了 POM,以便 Maven 使用该更改,我再次执行扫描器并且它工作了。对 pom.xml 的更改:<properties>&nbsp; &nbsp; <maven.compiler.source>1.8</maven.compiler.source>&nbsp; &nbsp; <maven.compiler.target>1.8</maven.compiler.target>&nbsp; &nbsp; <sonar.sources>src/main/java</sonar.sources></properties>添加:<plugin>&nbsp; &nbsp;<groupId>org.apache.maven.plugins</groupId>&nbsp; &nbsp; &nbsp; <artifactId>maven-compiler-plugin</artifactId>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<version>3.8.0</version>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<configuration>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <source>8</source>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <target>8</target>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</configuration></plugin>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java