java - Sonar findbugs,是否可以在未编译的文件上运行 findbugs?

标签 java sonarqube findbugs

我正在使用 Sonar (通过和),当我使用“Sonar 方式”配置文件时,它运行得很好。

我想运行“Sonar way with Findbugz”配置文件,但出现异常并且不起作用。

是什么让这变得更加困难 - 不要问为什么不这样做 - 我只有 .java 文件可以使用,还有很多项目,编译不是一个选项。

有没有办法在未编译的文件上运行 FingBugs?

输出:

构建文件:build.xml

sonar:
[sonar:sonar] Apache Ant version 1.7.1 compiled on August 24 2010
[sonar:sonar] Sonar Ant Task version: 1.0
[sonar:sonar] Loaded from: file:/usr/share/ant/lib/sonar-ant-task.jar
[sonar:sonar] Sonar work directory: /folder
[sonar:sonar] Sonar server: http://localhost:9000
[sonar:sonar] Sonar version: 3.5
[sonar:sonar] 13:54:34.062 INFO  .s.b.b.BatchSettings - Load batch settings
[sonar:sonar] 13:54:34.114 INFO     o.s.h.c.FileCache - User cache: /home/proj/.sonar/cache
[sonar:sonar] 13:54:34.131 INFO  atchPluginRepository - Install plugins
[sonar:sonar] 13:54:34.696 INFO  .s.b.b.TaskContainer - -------------  Executing Project Scan
[sonar:sonar] 13:54:35.199 INFO  b.b.JdbcDriverHolder - Install JDBC driver
[sonar:sonar] 13:54:35.201 INFO  .b.ProjectExclusions - Apply project exclusions
[sonar:sonar] 13:54:35.205 INFO      o.s.c.p.Database - Create JDBC datasource for jdbc:postgresql://localhost/sonar
[sonar:sonar] 13:54:35.292 INFO  actDatabaseConnector - Initializing Hibernate
[sonar:sonar] 13:54:38.035 INFO  .s.b.s.ScanContainer - -------------  Inspecting proj
[sonar:sonar] 13:54:38.039 INFO  .b.b.ProjectSettings - Load module settings
[sonar:sonar] 13:54:39.021 INFO  .s.b.ProfileProvider - Quality profile : [name=Sonar way with Findbugs,language=java]
[sonar:sonar] 13:54:39.037 INFO  s.f.ExclusionFilters - Excluded tests:
[sonar:sonar] 13:54:39.037 INFO  s.f.ExclusionFilters -   **/package-info.java
[sonar:sonar] 13:54:39.066 INFO  nPluginsConfigurator - Configure Maven plugins
[sonar:sonar] 13:54:39.256 INFO        org.sonar.INFO - Compare to previous analysis (2013-03-25)
[sonar:sonar] 13:54:39.321 INFO        org.sonar.INFO - Compare over 5 days (2013-03-20, analysis of 2013-03-25 09:55:51.594)
[sonar:sonar] 13:54:39.375 INFO        org.sonar.INFO - Compare over 30 days (2013-02-23, analysis of 2013-03-25 09:55:51.594)
[sonar:sonar] 13:54:39.542 INFO  .b.p.SensorsExecutor - Initializer JacocoAntInitializer...
[sonar:sonar] 13:54:39.602 INFO  o.s.p.j.JaCoCoPlugin - JaCoCo agent (version 0.6.2.201302030002) extracted: /tmp/jacocoagent973279373506480907.jar
[sonar:sonar] 13:54:39.602 INFO  .b.p.SensorsExecutor - Initializer JacocoAntInitializer done: 60 ms
[sonar:sonar] 13:54:39.602 INFO  s.f.FileSystemLogger - Base dir: /../..
[sonar:sonar] 13:54:39.602 INFO  s.f.FileSystemLogger - Working dir: /../../usr/local/repository/org/src
[sonar:sonar] 13:54:39.603 INFO  s.f.FileSystemLogger - Source dirs: /usr/local/repository/proj/org/src
[sonar:sonar] 13:54:39.603 INFO  s.f.FileSystemLogger - Binary dirs: /usr/local/repository/proj/org/bin
[sonar:sonar] 13:54:39.603 WARN  s.f.FileSystemLogger - Source encoding is platform dependent (UTF-8), default locale: en_US
[sonar:sonar] 13:54:39.668 INFO  p.PhasesTimeProfiler - Sensor JavaSourceImporter...
[sonar:sonar] 13:54:39.950 INFO  p.PhasesTimeProfiler - Sensor JavaSourceImporter done: 282 ms
[sonar:sonar] 13:54:39.951 INFO  p.PhasesTimeProfiler - Sensor JavaSquidSensor...
[sonar:sonar] 13:54:40.237 INFO    o.s.java.JavaSquid - Java AST scan...
[sonar:sonar] 13:54:42.784 INFO    o.s.java.JavaSquid - Java AST scan done: 2547 ms
[sonar:sonar] 13:54:42.964 INFO  p.PhasesTimeProfiler - Sensor JavaSquidSensor done: 3013 ms
[sonar:sonar] 13:54:42.965 INFO  p.PhasesTimeProfiler - Sensor FindbugsSensor...
[sonar:sonar] 13:54:42.965 INFO        org.sonar.INFO - Execute Findbugs 2.0.1...

BUILD FAILED
org.sonar.api.utils.SonarException: Can not execute Findbugs
        at org.sonar.plugins.findbugs.FindbugsExecutor.execute(FindbugsExecutor.java:149)
        at org.sonar.plugins.findbugs.FindbugsSensor.analyse(FindbugsSensor.java:62)
        at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:70)
        at org.sonar.batch.phases.Phases.execute(Phases.java:101)
        at org.sonar.batch.scan.ScanContainer.doStart(ScanContainer.java:147)
        at org.sonar.batch.bootstrap.Container.start(Container.java:72)
        at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:65)
        at org.sonar.batch.scan.ScanTask.scanRecursively(ScanTask.java:56)
        at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:49)
        at org.sonar.batch.bootstrap.TaskContainer.doStart(TaskContainer.java:188)
        at org.sonar.batch.bootstrap.Container.start(Container.java:72)
        at org.sonar.batch.bootstrap.TaskBootstrapContainer.executeTask(TaskBootstrapContainer.java:73)
        at org.sonar.batch.bootstrap.TaskBootstrapContainer.doStart(TaskBootstrapContainer.java:62)
        at org.sonar.batch.bootstrap.Container.start(Container.java:72)
        at org.sonar.batch.bootstrap.BootstrapContainer.doStart(BootstrapContainer.java:104)
        at org.sonar.batch.bootstrap.Container.start(Container.java:72)
        at org.sonar.batch.Batch.execute(Batch.java:106)
        at org.sonar.ant.Launcher.executeBatch(Launcher.java:121)
        at org.sonar.ant.Launcher.execute(Launcher.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.sonar.ant.SonarTask.delegateExecution(SonarTask.java:167)
        at org.sonar.ant.SonarTask.execute(SonarTask.java:151)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
        at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:357)
        at org.apache.tools.ant.Target.performTasks(Target.java:385)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
        at org.apache.tools.ant.Main.runBuild(Main.java:758)
        at org.apache.tools.ant.Main.startAnt(Main.java:217)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: org.sonar.api.utils.SonarException: Findbugs needs sources to be compiled. Please build project before executing sonar and check the location of compiled classes.
        at org.sonar.plugins.findbugs.FindbugsConfiguration.getFindbugsProject(FindbugsConfiguration.java:84)
        at org.sonar.plugins.findbugs.FindbugsExecutor.execute(FindbugsExecutor.java:107)
        ... 40 more

Total time: 14 seconds

最佳答案

不,这是不可能的:Findbugs 依赖字节码来执行其代码分析。因此,如果您尚未编译代码,您将无法在其上运行 Findbugs。

关于java - Sonar findbugs,是否可以在未编译的文件上运行 findbugs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15616813/

相关文章:

java - 当应用程序关闭时 AltBeacon 继续扫描

java - 使用 Apache CXF 的 JAX-RS 文件上传

java - Java 迭代合并排序

javascript - 使用 angularJS 进行 sonarqube 代码分析

java - 将应用程序安装到 Tomcat7 中以与 sonarqube 4.1 一起运行(maven 插件)

c# - SonarQube C# SuppressMessage,S1871 类别

java - PMD 和 FindBugs 有什么区别?

java - 如何将@query jpa结果导出到.dat文件/

java - 如何解决 findbug 问题 : Null passed for nonnull parameter

java - 使用自定义 FindBugs 插件扩展 SonarQube FindBugs 插件