日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cobertura和Sonar 5.1的问题

發布時間:2023/12/3 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cobertura和Sonar 5.1的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近,我有些麻煩,試圖在我的Grails 2.4.4項目中使用Sonar 5.1。 我使用的是Groovy常用的東西: Gmetrics,Codenarc和Cobertura 。 對于Sonar數據庫,我使用的是Postgres 9.4 。

聲納跑步者的日志文件給了我這個:

build 22-Jun-2015 07:44:30 INFO: ------------------------------------------------------------------------ build 22-Jun-2015 07:44:30 INFO: EXECUTION FAILURE build 22-Jun-2015 07:44:30 INFO: ------------------------------------------------------------------------ build 22-Jun-2015 07:44:30 Total time: 9.153s build 22-Jun-2015 07:44:30 Final Memory: 30M/1039M build 22-Jun-2015 07:44:30 INFO: ------------------------------------------------------------------------ error 22-Jun-2015 07:44:30 ERROR: Error during Sonar runner execution error 22-Jun-2015 07:44:30 ERROR: Unable to execute Sonar error 22-Jun-2015 07:44:30 ERROR: Caused by: Unable to save file sources error 22-Jun-2015 07:44:30 ERROR: Caused by: -1

沒什么用! 我認為存在一些權限問題,因為“無法保存文件源”通常意味著! 但是沒有權限問題。 然后,我禁用了分析的Cobertura部分,一切正常,因此Cobertura部分出了問題。 然后,我:

  • 啟用詳細日志記錄— sonar.verbose = true
  • 啟用了完整堆棧跟蹤日志記錄—使用-e開關
  • 使用-X開關啟用了完整的調試日志記錄

這提供了更多線索。

error 22-Jun-2015 11:09:06 ERROR: Error during Sonar runner execution build 22-Jun-2015 11:09:06 INFO: ------------------------------------------------------------------------ error 22-Jun-2015 11:09:06 org.sonar.runner.impl.RunnerException: Unable to execute Sonar error 22-Jun-2015 11:09:06 at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91) error 22-Jun-2015 11:09:06 at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) error 22-Jun-2015 11:09:06 at java.security.AccessController.doPrivileged(Native Method) error 22-Jun-2015 11:09:06 at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) error 22-Jun-2015 11:09:06 at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) error 22-Jun-2015 11:09:06 at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) error 22-Jun-2015 11:09:06 at org.sonar.runner.api.Runner.execute(Runner.java:100) error 22-Jun-2015 11:09:06 at org.sonar.runner.Main.executeTask(Main.java:70) error 22-Jun-2015 11:09:06 at org.sonar.runner.Main.execute(Main.java:59) error 22-Jun-2015 11:09:06 at org.sonar.runner.Main.main(Main.java:53) error 22-Jun-2015 11:09:06 Caused by: java.lang.IllegalStateException: Unable to save file sources error 22-Jun-2015 11:09:06 at org.sonar.batch.index.SourcePersister.persist(SourcePersister.java:84) error 22-Jun-2015 11:09:06 at org.sonar.batch.phases.DatabaseModePhaseExecutor.executePersisters(DatabaseModePhaseExecutor.java:165) error 22-Jun-2015 11:09:06 at org.sonar.batch.phases.DatabaseModePhaseExecutor.execute(DatabaseModePhaseExecutor.java:133) error 22-Jun-2015 11:09:06 at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:264) error 22-Jun-2015 11:09:06 at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) error 22-Jun-2015 11:09:06 at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) error 22-Jun-2015 11:09:06 at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:235) error 22-Jun-2015 11:09:06 at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:230) error 22-Jun-2015 11:09:06 at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:220) error 22-Jun-2015 11:09:06 at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) error 22-Jun-2015 11:09:06 at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) error 22-Jun-2015 11:09:06 at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57) error 22-Jun-2015 11:09:06 at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45) error 22-Jun-2015 11:09:06 at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:135) error 22-Jun-2015 11:09:06 at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:92) error 22-Jun-2015 11:09:06 at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) error 22-Jun-2015 11:09:06 at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:158) error 22-Jun-2015 11:09:06 at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:95) error 22-Jun-2015 11:09:06 at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67) error 22-Jun-2015 11:09:06 at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48) error 22-Jun-2015 11:09:06 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) error 22-Jun-2015 11:09:06 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) error 22-Jun-2015 11:09:06 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) error 22-Jun-2015 11:09:06 at java.lang.reflect.Method.invoke(Method.java:606) error 22-Jun-2015 11:09:06 at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) error 22-Jun-2015 11:09:06 ... 9 more error 22-Jun-2015 11:09:06 Caused by: java.lang.ArrayIndexOutOfBoundsException: -1 error 22-Jun-2015 11:09:06 at java.util.ArrayList.elementData(ArrayList.java:371) error 22-Jun-2015 11:09:06 at java.util.ArrayList.get(ArrayList.java:384) error 22-Jun-2015 11:09:06 at com.google.protobuf.RepeatedFieldBuilder.getBuilder(RepeatedFieldBuilder.java:245) error 22-Jun-2015 11:09:06 at org.sonar.server.source.db.FileSourceDb$Data$Builder.getLinesBuilder(FileSourceDb.java:2911) error 22-Jun-2015 11:09:06 at org.sonar.batch.index.SourceDataFactory.

現在,我可以在日志的前面看到Cobertura分析已經完成。 我還可以看到Cobertura coverage.xml生成正常(這是整理代碼coverage信息的文件)。 創建coverage.xml文件之后,下一步是讓聲納運行器解析該文件并將其發送給Postgres,在解析階段必須出錯,因為連接到Postgres絕對不是問題(記住Cobertura禁用后一切都很好) )。 我知道將請求發送到Postgres沒問題,所以認為coverage.xml文件中一定有一些奇怪的地方,這意味著Sonar運行程序無法解析它。 如前所述,coverage.xml文件詳細說明了每個類的行號已經被覆蓋。 樣品:

<class name="com.dublintech.me.ApiLogFilters" filename="com/dublintech/me/ApiLogFilters.groovy" line-rate="0.0" branch-rate="0.0" complexity="0.0"><methods><method name="<clinit>" signature="()V" line-rate="0.0" branch-rate="1.0"><lines><line number="25" hits="0" branch="false"></line></lines></method>... </methods></class> ...

那么什么樣的東西可以使解析桶呢? 如果coverage.xml文件中有一些奇數行怎么辦? 嗯……要檢查這一點,我運行了以下grep:

> grep "line number" coverage.xml

這給了太多。 負數行號怎么辦?

>grep "line number=\"\-" coverage.xml

不,沒有 好,回到異常,看這一行:

java.lang.ArrayIndexOutOfBoundsException: -1

hmmm ...如果行號為0,我想知道它是否可以在聲納運行器中進行一些數組解析,從而使索引超出范圍?

>grep "line number=\"0" coverage.xml

擊中! 是時候前后grep行,并獲得有關此文件的更多信息。

>grep -C20 "line number=\"0" coverage.xml

這給了我罪魁禍首。 對于我來說,Cobertura為什么說行號0的點擊率為0毫無意義。 仍然可以打開Cobertura html報告并查看分析。 聲納在解析時只是在f地。 因此,通過將以下內容添加到我的構建配置中,從Cobertura分析中刪除了此文件。

coverage {xml = trueexclusions = ["**/com/dublintech/me/MyOddFile*"] }

然后,我重新運行,嘿嘿,一切正常。 該文件不在coverage.xml文件中。 這意味著Sonar跑步者可以解析文件,一切正常。

我喜歡聲納,喜歡穩定的構造,喜歡快速反饋,是的,當它再次工作時,我是一個快樂的人!

翻譯自: https://www.javacodegeeks.com/2015/06/problems-with-cobertura-and-sonar-5-1.html

總結

以上是生活随笔為你收集整理的Cobertura和Sonar 5.1的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。