Jér*_*ôme 6 java findbugs maven sonarqube
在几个月来第一次完成我的一个项目后,我想运行 Sonar 来检查我是否引入了任何新的违规行为。正如我之前多次做过的那样,我首先下载了 Sonar 的最新稳定版本(sonarqube-4.5.2),然后使用mvn sonar:sonar
一切都适用于 Sonar way 配置文件,因此我决定切换到 Findbugs 配置文件。然而,在分析该项目时,我收到以下警告:
[警告] [13:21:45.287] Findbugs 需要编译源代码。请在执行声纳之前构建项目或检查编译类的位置,以便 Findbugs 能够分析您的项目。
我以前从未遇到过这个问题(在同一个项目上,但使用旧版本的声纳),所以我在互联网上搜索,发现我可能需要定义sonar.binaries将声纳指向已编译的类。(在我的例子中,声纳过去自动解决了这个问题)。尽管如此,我还是添加了pom.xml以下属性:
<sonar.sources>${basedir}/src/org/myproject</sonar.sources>
<sonar.binaries>${basedir}/target/classes/org/myproject</sonar.binaries>
<sonar.java.binaries>${basedir}/target/classes/org/myproject</sonar.java.binaries>
<sonar.tests>${basedir}/test/org/myproject</sonar.tests>
Run Code Online (Sandbox Code Playgroud)
sonar.binaries但是,当我看到now 明确指向 Maven 的目标文件夹时,我仍然遇到相同的错误。
[INFO] [15:18:46.496] Source paths: src/org/myproject
[INFO] [15:18:46.496] Test paths: test/org/myproject
[INFO] [15:18:46.496] Binary dirs: target/classes/org/myproject
Run Code Online (Sandbox Code Playgroud)
到目前为止我已经尝试过的:
pom.xml以合并以下声纳属性
sonar-project.properties具有各种属性的文件添加到项目中,但没有成功mvn sonar:sonar我真的很困惑,因为这在过去就像一种魅力。
使用 Maven 运行 SonarQube 分析时,无需指定以下属性:
sonar.sourcessonar.testssonar.librariessonar.binaries,因为 SonarQube Maven 会为您做到这一点。
显然你可以尝试覆盖它们,但是你所做的是错误的,因为Maven编译到“target/classes”中,所以“sonar.binaries”应该设置到这个文件夹(而不是“target/classes/org/myproject”)。
因此,为了让它变得简单(事实上也更简单),只需从 POM 中删除这些属性,它就会起作用。
| 归档时间: |
|
| 查看次数: |
4870 次 |
| 最近记录: |