首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven + Sonar +Findbug:Findbug需要编译源代码

Maven + Sonar +Findbug:Findbug需要编译源代码
EN

Stack Overflow用户
提问于 2015-01-18 14:52:53
回答 2查看 4.6K关注 0票数 6

在几个月来第一次参与我的一个项目之后,我想运行Sonar来检查我是否引入了任何新的违规行为。就像我以前做过的很多次一样,我首先下载了Sonar的最新稳定版本(sonarqube4.5.2),然后用mvn sonar:sonar运行了这个项目。

一切都与Sonar配置文件一起工作,因此我决定切换到Findbug配置文件。然而,在分析该项目时,我收到了以下警告:

警告Findbug需要编译源代码。请在执行声纳之前构建项目,或者检查编译类的位置,以使Findbug能够分析您的项目。

我以前从未遇到过这个问题(在同一个项目中,但是使用了旧版本的声纳),所以我在互联网上搜索,发现我可能需要定义sonar.binaries来将Sonar指向编译的类。(在我看来,索纳尔在过去就自动发现了这一点)。不过,我在我的pom.xml中添加了以下属性:

代码语言:javascript
复制
  <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>

但是,当看到sonar.binaries现在显式地指向Maven的目标文件夹时,我仍然得到了相同的错误。

代码语言:javascript
复制
[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

我想要做的是:

  • 下载的sonarqube-5.0,根本不工作
  • 修改了我的pom.xml,使其包含以下声纳属性
    • sonar.sources ->指向src/org/myproject
    • sonar.binaries ->指向目标/classes/org/myproject
    • sonar.java.binaries ->指向目标/classes/org/myproject
    • sonar.tests ->指向test/org/myproject

  • 尝试了相同的属性,但是使用了绝对路径。我还试图只指定父文件夹(src、test、target)的路径。未获成功
  • 我向项目添加了一个具有各种属性的sonar-project.properties文件,但没有成功
  • 在运行mvn sonar:sonar之前使用各种Maven生命周期编译项目

我真的很困惑,因为这在过去就像一种魅力。

EN

回答 2

Stack Overflow用户

发布于 2015-01-19 16:26:51

在使用Maven运行SonarQube分析时,不需要指定以下属性:

  • sonar.sources
  • sonar.tests
  • sonar.libraries
  • sonar.binaries

,因为SonarQube Maven为您做这件事。

显然,您可以尝试重写它们,但是您所做的是错误的,因为Maven编译成“目标/类”,所以应该将"sonar.binaries“设置为这个文件夹(而不是"target/classes/org/myproject")。

因此,为了使其简单(实际上也更简单),只需从POM中删除这些属性就可以了。

票数 0
EN

Stack Overflow用户

发布于 2015-11-13 11:53:30

java库还有另一个设置,上面没有提到:

  • sonar.java.libraries

例如:

代码语言:javascript
复制
sonar.java.libraries=lib/*.jar
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28011038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档