【问题标题】:Can not execute Findbugs Caused by: This project contains Java source files that are not compiled无法执行 Findbugs 原因:该项目包含未编译的 Java 源文件
【发布时间】:2016-08-23 13:42:41
【问题描述】:

我目前正在使用带有扫描仪 2.6.1 的 sonarqube 服务器 5.6,并且在分析 java 项目期间不断出现错误。 它似乎抱怨一些未在二进制文件夹中编译的java文件(二进制文件夹中根本没有任何文件)。 添加 -X 参数后,我会得到更多异常(标记为已忽略),请参见下文。 有什么线索吗?

sonar-project.properties 后跟日志

sonar.projectKey=myproj
sonar.projectName=myproj
sonar.projectVersion=1.1
sonar.branch=1.1
sonar.sources=./java
sonar.binaries=./deploy
sonar.log.level=DEBUG
sonar.verbose=false
sonar.sourceEncoding=UTF-8


INFO: Execute Checkstyle 6.12.1 done: 2365 ms
INFO: Sensor CheckstyleSensor (done) | time=2377ms
INFO: Sensor SCM Sensor (wrapped)
INFO: SCM provider for this project is: svn
INFO: 9 files to be analyzed
DEBUG: Working directory: D:\Apps\xxxx
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
DEBUG: Annotate file java/src/xxxx.java
INFO: 9/9 files analyzed
INFO: Sensor SCM Sensor (wrapped) (done) | time=3289ms
INFO: Sensor FindBugs Sensor (wrapped)
WARN: Findbugs needs sources to be compiled. Please build project before 

executing sonar or check the location of compiled classes to make it possible for Findbugs to analyse your project.
    INFO: ------------------------------------------------------------------------
    INFO: EXECUTION FAILURE

不带 -e 参数的执行

警告:Findbugs 需要编译源代码。请在执行声纳之前构建项目或检查已编译类的位置,以便 Findb 分析您的项目。 然后 java.lang.IllegalStateException: 无法执行 Findbugs

原因:java.lang.IllegalStateException:此项目包含未编译的 Java 源文件。 在 org.sonar.plugins.findbugs.FindbugsConfiguration.getFindbugsProject(FindbugsConfiguration.java:120) 在 org.sonar.plugins.findbugs.FindbugsExecutor.execute(FindbugsExecutor.

使用 -X 参数

com.puppycrawl.tools.checkstyle.api.CheckstyleException:SuppressionCommentFilter 中缺少键“严重性”

然后是多个异常 DEBUG:继续寻找,忽略异常 com.puppycrawl.tools.checkstyle.api.CheckstyleException:无法找到 com.puppycrawl.tools.checkstyle.checks.sizes.WhitespaceAroundCheck 的类

那么 警告:Findbugs 需要编译源代码。请在执行声纳之前构建项目或检查已编译类的位置以使其成为可能 然后 信息:执行失败

【问题讨论】:

    标签: sonarqube findbugs


    【解决方案1】:

    定义后对我有用:

    sonar.java.binaries=[YOUR_BUILD_DIR] (target/classes)
    

    见于:

    https://github.com/SonarQubeCommunity/sonar-findbugs/issues/49

    【讨论】:

    • 为澄清起见,您将其指向带有类文件的构建目录,而不是带有已编译 jar 的最终目录,对吗?我没有运气将它指向 jar 目录,只是指向包含 un-jarred 类文件的目录。
    • 是的,已确认。
    【解决方案2】:

    我们在某些项目(主要是 Play Framework 项目)中遇到了同样的问题。我将 SonarQube 中的 FindBugs 插件从 3.4.3 版本恢复到 3.3(我在 SonarQube 5.5 上使用的),然后分析再次起作用。

    【讨论】:

    • 感谢我们有另一个正在运行的 java 项目,所以我将不得不更深入地研究 unf。
    • 做了同样的事情,解决了问题!
    【解决方案3】:

    我的 SonarQube 6.2 与 Maven-Multi-Module 项目的工作配置

    父母

    -- 模块1

    -- 模块2

    sonar.projectKey=projectKey
    sonar.projectName=Project Name
    sonar.projectVersion=1.0
    
    sonar.modules=Module1,Module2
    
    sonar.sources=src
    sonar.sourceEncoding=UTF-8
    sonar.language=java
    

    【讨论】:

    • 我有一个PHP项目,所以我设置了sonar.language=php,问题就消失了。
    猜你喜欢
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    相关资源
    最近更新 更多