天天看點

sonar java_如何正确配置屬性“sonar.java.binaries”?

我們使用SonarQube 5.1.2使用Ant runner 2.2和

Java pluging 3.12進行分析.我可以成功地分析我的項目.我隻是一直收到這個錯誤:

Java bytecode has not been made available to the analyzer. The [email protected],org.sonar.java.checks.unused.UnusedPri[email protected],CycleBetweenPackages rule are disabled.

我認為我做得正确:

哪個解析為以上屬性的以下有效目錄:

basedir=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj

project.dir=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/xalg.prj/h3_service_fo

sonar.java.binaries=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj\\xalg.prj\\h3_service_fo\\build\\classes\\main

sonar.java.test.binaries=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/xalg.prj/h3_service_fo/build/classes/test

但我一直在:

Java bytecode has not been made available to the analyzer. The org.sonar.java.bytecode.visitor.Dep[email protected],CycleBetweenPackages rule are disabled.

而對于我的生活,我無法弄清楚我需要給sonar.java.binaries和sonar.java.test.binaries屬性的值.我甚至嘗試使用sonar.binaries,它給了我以下輸出:

Binary dirs: xalg.prj/h3_service_fo/build/classes

我沒有使用sonar.java.binaries或sonar.java.test.binaries.我也得到了:

JavaClasspath initialization...

sonar.binaries and sonar.libraries are deprecated since version 2.5 of sonar-java-plugin,please use sonar.java.binaries and sonar.java.libraries instead

對于已棄用的财産,這是預期的.但是使用sonar.java.binaries屬性我沒有在我的日志中獲得“Binary dirs”行.

使用sonar.java.binaries:

Language is forced to java

Load rules

Load rules (done) | time=761ms

Code colorizer,supported languages: cs,plsql

Initializers :

Base dir: D:\appl\BuildAgent\work\H3\src.prj\java.prj

Working dir: D:\appl\BuildAgent\work\H3\src.prj\java.prj\.sonar

Source paths: xalg.prj/h3_service_fo/src/main/java

Test paths: xalg.prj/h3_service_fo/src/test/java

Source encoding: windows-1252,default locale: en_US

Index files

使用sonar.binaries:

Language is forced to java

Load rules

Load rules (done) | time=736ms

Code colorizer,plsql

Initializers :

Base dir: D:\appl\BuildAgent\work\H3\src.prj\java.prj

Working dir: D:\appl\BuildAgent\work\H3\src.prj\java.prj\.sonar

Source paths: xalg.prj/h3_service_fo/src/main/java

Test paths: xalg.prj/h3_service_fo/src/test/java

Binary dirs: xalg.prj/h3_service_fo/build/classes

Source encoding: windows-1252,default locale: en_US

Index files

我還檢視了SonarQube,SonarQube Java插件和SonarQube掃描器的源代碼,以查找“Java位元組碼尚未提供給分析器”的執行個體.或者sonar.java.binaries.我在sonar.java.binaries上發現了很多内容,但“Java位元組碼尚未提供給分析器”.是以我不知道究竟是什麼條件會引發錯誤.

我還在sonar.java.binaries上嘗試了以下排列:

但這也沒有做任何事情.

有點奇怪的是,Squid似乎很好地解決了類路徑問題:

----- Classpath analyzed by Squid:

D:\appl\BuildAgent\work\H3\src.prj\java.prj\xalg.prj\h3_service_fo\build\classes\main

那麼,我錯過了什麼?我究竟做錯了什麼?提前緻謝.

更新2016-09-08:

删除整個日志,文章變得很長.

(我認為)相關路徑的子集:

project.build.dir=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/xalg.prj/h3_service_fo/build

project.dir=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/xalg.prj/h3_service_fo

project.src.dir=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/xalg.prj/h3_service_fo/src

sonar.dir=D\:/appl/sonarqube-5.1.2

sonar.working.directory=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj\\.sonar

sonar.projectBaseDir=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj

sonar.jacoco.reportPath=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/xalg.prj/h3_service_fo/build/jacoco/test.exec

sonar.junit.reportsPath=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/xalg.prj/h3_service_fo/build/test-results

sonar.sources=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/xalg.prj/h3_service_fo/src/main/java

sonar.java.binaries=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj\\xalg.prj\\h3_service_fo\\build\\classes\\main

sonar.java.libraries=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/_deploy/*.jar,D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/_repos/lib/*.jar,D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/_repos/provided/*.jar

sonar.tests=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/xalg.prj/h3_service_fo/src/test/java

sonar.java.test.binaries=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/xalg.prj/h3_service_fo/build/classes/test

sonar.java.test.libraries=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/_deploy/*.jar,D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj/_repos/provided/*.jar

路徑的格式與我的文章格式完全相同.可能是Sonar Ant跑步者無法找出帶有反斜杠和斜杠的路徑嗎?

2016-09-16更新:

删除整個日志,文章變得很長.

(我認為)相關路徑的子集:

project.build.dir=xalg.prj\\\\h3_service_fo\\\\build

project.dir=xalg.prj\\\\h3_service_fo

project.src.dir=xalg.prj\\\\h3_service_fo\\\\src

sonar.dir=D\:\\\\appl\\\\sonarqube-5.1.2

sonar.working.directory=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj\\.sonar

sonar.projectBaseDir=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj

sonar.jacoco.reportPath=xalg.prj\\\\h3_service_fo\\\\build\\\\jacoco/test.exec

sonar.junit.reportsPath=xalg.prj\\\\h3_service_fo\\\\build\\\\test-results

sonar.sources=xalg.prj\\\\h3_service_fo\\\\src\\\\main\\\\java

sonar.java.binaries=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj\\xalg.prj\\h3_service_fo\\build\\classes\\main

sonar.java.libraries=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj\\\\_deploy\\\\*.jar,D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj\\\\_repos\\\\lib\\\\*.jar,D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj\\\\_repos\\\\provided\\\\*.jar

sonar.tests=xalg.prj\\\\h3_service_fo\\\\src\\\\test\\\\java

sonar.java.test.binaries=xalg.prj\\\\h3_service_fo\\\\build\\\\classes\\\\test

sonar.java.test.libraries=D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj\\\\_deploy\\\\*.jar,D\:\\appl\\BuildAgent\\work\\H3\\src.prj\\java.prj\\\\_repos\\\\provided\\\\*.jar

一些路徑變得相對,但我認為這是因為TeamCity将Ant檔案更改為SVN中的檔案.

sonar.java.binaries是絕對的,它肯定指向正确的目錄.

但我仍然得到這個錯誤:

09:17:52.299 INFO - Java Main Files AST scan done: 1579 ms

09:17:52.301 INFO - 2/2 source files have been analyzed

09:17:52.305 WARN - Java bytecode has not been made available to the analyzer. The [email protected],org.sonar.java.checks.unused.UnusedPri[email protected],CycleBetweenPackages rule are disabled.

類路徑仍然被解釋得很好:

[sonar:sonar] 09:17:51.971 DEBUG - ----- Classpath analyzed by Squid:

[sonar:sonar] 09:17:51.972 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\xalg.prj\h3_service_fo\build\classes\main

[sonar:sonar] 09:17:51.973 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\batch.daemon.jar

[sonar:sonar] 09:17:51.974 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\buildinfo.jar

[sonar:sonar] 09:17:51.975 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h2_shared.jar

[sonar:sonar] 09:17:51.975 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_generator.jar

[sonar:sonar] 09:17:51.976 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_loadtest.jar

[sonar:sonar] 09:17:51.977 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_model_common.jar

[sonar:sonar] 09:17:51.977 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_model_xalg.jar

[sonar:sonar] 09:17:51.978 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_model_xalg_dao.jar

[sonar:sonar] 09:17:51.979 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_model_xalg_mappers.jar

[sonar:sonar] 09:17:51.979 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_model_xalg_procedures.jar

[sonar:sonar] 09:17:51.980 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_model_xcare.jar

[sonar:sonar] 09:17:51.981 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_model_xcare_dao.jar

[sonar:sonar] 09:17:51.982 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_model_xcare_mappers.jar

[sonar:sonar] 09:17:51.982 DEBUG - D:\appl\BuildAgent\work\H3\src.prj\java.prj\_deploy\h3_model_xcare_procedures.jar

Sonar Ant跑步者是否有逃脫反斜杠的問題?