简体   繁体   中英

Sonar findbugs, possibility to run findbugs on uncompiled files?

I'm the following situation.

I'm using sonar (via and) and it runs just fine when I use the "Sonar way"-profile.

I would like to run the "Sonar way with Findbugz"-profile but I get an exception and it doesn't work.

What makes this even more difficult - don't ask why just don't - I only have the .java-files to work with and a lot of projects, compiling isn't an option.

Is there a way to run FingBugs on uncompiled files? Any other suggestions? I'm all ears...

Output:

Buildfile: 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

No, this is not possible: Findbugs relies on bytecode to perform its code analysis. SO if you haven't compiled your code, you won't be able to run Findbugs on it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM