【问题标题】:Sonar / findbugs fails when root project doesn't contains any classes当根项目不包含任何类时,Sonar / findbugs 失败
【发布时间】:2013-05-24 23:10:34
【问题描述】:

在一个 Java 项目中,我将 Sonar 与 Maven 一起使用,并且它与“声纳方式”配置文件一起工作得很好。但是当切换到“使用 Findbugs 的声纳方式”配置文件时,它会失败:

“无法执行Sonar:无法执行Findbugs:Findbugs需要编译源码。请在执行sonar之前先建项目,并检查编译类的位置。”

在执行 Sonar 之前正确构建项目。但是根模块/项目不包含任何类。所以目标/类是空的

我的项目由几个模块和一个根 pom.xml 组成

项目

|_ 模块 1

|_ 模块 2

|_ 模块 3

pom.xml

Sonar 对每个模块都运行良好,并尝试分析根项目,但这个项目不包含任何类,所以它失败了。

有没有办法排除根项目/模块(排除根模块是不可能的)或告诉声纳只在这种情况下生成警告或其他解决方案?

提前致谢。

【问题讨论】:

  • 你运行什么命令? “mvn clean install sonar:sonar”还是“mvn clean install”然后是“mvn sonar:sonar”?
  • 大卫,我正在使用 Jenkins。在构建后,我会进行全新安装,然后进行声纳分析,并保留默认选项。
  • 我尝试了一个简单的“mvn clean install”,然后是“mvn sonar:sonar”:同样的问题......
  • 是这个项目特有的吗?您能否按照 README 文件运行以下项目示例的分析:github.com/SonarSource/sonar-examples/tree/master/projects/…
  • 大卫,运行这个没问题...

标签: java maven sonarqube findbugs


【解决方案1】:

我假设您没有遇到声纳或 findbugs 问题,但您可能 有一个 Maven 特定的问题,例如你的多模块 pom 有问题 - 你甚至说它“目标/类是空的”。在专注于声纳或 findbugs 之前先关注它。 作为一种解决方法,请先尝试为特定模块设置 jenkins 构建。当使用目标文件夹中的类文件正确构建时,将声纳目标添加到您的 jenkins 项目中,我希望它可以工作。

ps:比较: Maven sonar findbugs fails with no source to compile

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-31
    • 2021-09-07
    • 1970-01-01
    • 2013-05-20
    • 2013-01-24
    • 1970-01-01
    • 2015-06-14
    相关资源
    最近更新 更多