在几个月来第一次完成我的一个项目后,我想运行 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具有各种属性的文件添加到项目中,但没有成功