2013-04-30 114 views
1

我使用聲納生成Findbugs,Checkstyle和PMD報告,然後將這些報告提供給jenkins生成基於xml文件的圖形,但我在jenkins上得到以下錯誤。jenkins不能識別由聲納生成的checkstyle和pmd報告

[CHECKSTYLE] Parsing of file /home/bldarea/.../checkstyle.xml failed due to an exception: 

org.xml.sax.SAXException: Input stream is not a Checkstyle file. 
at hudson.plugins.checkstyle.parser.CheckStyleParser.parse(CheckStyleParser.java:69) 
at hudson.plugins.analysis.core.AbstractAnnotationParser.parse(AbstractAnnotationParser.java:53) 
at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:306) 
at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:264) 
at hudson.plugins.analysis.core.FilesParser.parserCollectionOfFiles(FilesParser.java:215) 
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:184) 
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31) 
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2246) 
at hudson.remoting.UserRequest.perform(UserRequest.java:118) 
at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
at hudson.remoting.Request$2.run(Request.java:326) 
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
at java.lang.Thread.run(Thread.java:722) 

同樣地,對於PMD文件

[PMD] Parsing of file /home/bldarea/.../pmd.xml failed due to an exception: 

org.xml.sax.SAXException: Input stream is not a PMD file. 
at hudson.plugins.pmd.parser.PmdParser.parse(PmdParser.java:72) 
at hudson.plugins.analysis.core.AbstractAnnotationParser.parse(AbstractAnnotationParser.java:53) 
at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:306) 
at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:264) 
at hudson.plugins.analysis.core.FilesParser.parserCollectionOfFiles(FilesParser.java:215) 
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:184) 
at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31) 
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2246) 
at hudson.remoting.UserRequest.perform(UserRequest.java:118) 
at hudson.remoting.UserRequest.perform(UserRequest.java:48) 
at hudson.remoting.Request$2.run(Request.java:326) 
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
at java.lang.Thread.run(Thread.java:722) 

回答

0

你不能肯定的是,詹金斯插件使用的Checkstyle & PMD的相同版本比嵌入在聲納的人。所以我對這樣的問題可能會發生並不感到驚訝。順便說一下:我沒有看到在Jenkins中顯示這些結果的觀點。 Sonar UI質量更高。

+0

好吧....其實我已經展現FindBugs的,的CheckStyle和PMD的圖形視圖報告,請你能指導我如何去實現它的聲納。我可以成功生成報告,但可以創建圖形視圖。請你能幫我這麼做。 – user1891622 2013-04-30 11:32:56

+0

那麼,有一個圖表顯示違規規則引擎是沒用的:有什麼意義?違規是違規行爲,可能是由Findbugs或PMD產生的!如果你想擁有圖表,你可以添加你可以在http://nemo.sonarsource.org上看到的小部件。 – 2013-04-30 13:12:20

0

您提到的文件看起來不像輸出報告。而是他們是規則配置文件。例如,PMD報告文件不應該是pmd.xml,而應該是pmd-results.xml。

0

請參考{https://issues.jenkins-ci.org/browse/JENKINS-26638?focusedCommentId=220317&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-220317} Jenkin的缺陷跟蹤工具中引發的類似問題。它可能有幫助。

我正面臨類似問題爲PMD [失敗由於一個異常:org.xml.sax.SAXException:輸入流是不是一個PMD文件] 作爲每JIRA票(上面給出),隨後在下面的步驟,

  • 使用Maven,首先在eclipse中執行項目。
  • 因此,PMD根據我的文件創建了自己的pmd.xml文件。
  • 替換由PMD生成的PMD.xml生成的PMD.xml。
  • 導入pmd在jenkin中生成pmd.xml
  • 構建的項目和問題得到解決。