我目前正在使用带有扫描仪 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 需要编译源代码。请在执行 Sonar 之前构建项目或检查已编译类的位置,以便 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 需要编译源代码。请在执行 Sonar 之前构建项目或检查已编译类的位置以使其成为可能
然后
信息:执行失败
最佳答案
定义后它对我有用:
sonar.java.binaries=[YOUR_BUILD_DIR] (target/classes)
见于:
https://github.com/SonarQubeCommunity/sonar-findbugs/issues/49
关于sonarqube - 无法执行 : This project contains Java source files that are not compiled 导致的 Findbugs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39102924/