我在我的项目中使用IntelliJ和Maven,我必须用SonarQube分析它,但是当我用webApp提供的命令扫描我的项目时,它只分析pom.xml文件,忽略了项目的其余部分。
清理安装sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.login=“此处对应的键”
我的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>
<distributionManagement>
<repository>
<id>SimulacionCredito</id>
<name>SimulacionCredito</name>
<url>file:C:\Users\Pc\IdeaProjects</url>
</repository>
</distributionManagement>
我还尝试在configuration标签中使用它:
<sonar.sources>src/main/java</sonar.sources>
然后发生了这样的事
我在Maven的conf中的settings.xml:
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<mirrors>
</mirrors>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.host.url>
http://localhost:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
我一直在添加的东西POM,因为不同的错误,而试图解决这个问题。
我安装了最新版本的SonarQube。
2条答案
按热度按时间bvjxkvbb1#
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
bejyjqdl2#
所以,问题是IntelliJ是用Java SE开发工具包11配置的,我降级到Java SE开发工具包8u181并配置POM,这样Maven就可以处理这个变化,我再次执行扫描器,它就可以工作了。
对pom.xml的更改:
添加:
New analysis results