2016-08-23 293 views
14

我目前正在使用sonarqube服务器5.6和扫描仪2.6.1,并且在java项目的分析过程中不断收到错误。 它似乎抱怨一些未在二进制文件夹中编译的java文件(在二进制文件夹中根本没有任何文件)。 一旦我添加-X参数,我会得到更多的异常(标记为忽略),请参阅下文。 任何线索?无法执行Findbugs导致:该项目包含未编译的Java源文件

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 PARAM

WARN:FindBugs的需要源进行编译。请在执行声纳之前建立项目或检查编译类的位置,以便Findbto分析您的项目。 then 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.Whit espaceAroundCheck

then 警告:Findbugs需要编译源代码。执行声纳之前,请先建立项目或检查编译类的位置,有可能使 然后 信息:执行失败

回答

19

它限定后为我的作品:

sonar.java.binaries = [YOUR_BUILD_DIR](目标/班)

见于:

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

+1

您可以将自己的答案标记为已接受,以表明您找到了可行的解决方案。 – h3xStream

+0

为了澄清,您将它指向带有类文件的构建目录,而不是带编译jar的最终目录,对吧? 我没有把它指向jar目录,只是在包含无法解析的类文件的目录中。 – Tydaeus

+0

是的,证实。 – NicolasW

3

我们有一些项目相同的问题(主要是玩框架项目)。我将SonarQube中的FindBugs插件从版本3.4.3恢复为3.3(我在SonarQube 5.5上使用),然后再次分析。

+0

感谢我们,这就是它的工作,所以我将不得不寻找另一个Java项目更深的不透明 – NicolasW

+0

做了同样的事情,解决了问题! – sloven

0

我的工作配置为SonarQube 6。2 Maven的多模块项目

家长

- 模块1

- 单词数

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 
相关问题