1

我正在使用声纳生成 Findbugs、Checkstyle 和 PMD 报告,然后将这些报告提供给 jenkins 以生成基于 xml 文件的图形,但我在 jenkins 上收到以下错误。

[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)
4

3 回答 3

0

您提到的文件似乎不像输出报告。相反,它们是规则配置文件。例如,PMD 报告文件不应该是 pmd.xml,而应该是 pmd-results.xml。

于 2013-06-28T04:48:48.460 回答
0

您无法确定 Jenkins 插件使用的 Checkstyle 和 PMD 版本是否与嵌入在 Sonar 中的插件相同。所以我对可能发生这样的问题并不感到惊讶。

顺便说一句:我看不出在 Jenkins 中显示这些结果的意义。Sonar UI 对于高质量的东西要先进得多。

于 2013-04-30T10:57:02.107 回答
0

参考 { https://issues.jenkins-ci.org/browse/JENKINS-26638?focusedCommentId=220317&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-220317 } 类似问题在 Jenkins 的缺陷中提出跟踪工具。它可能会有所帮助。

我面临 PMD 的类似问题 [由于异常而失败:org.xml.sax.SAXException:输入流不是 PMD 文件。] 根据 JIRA 票证(如上所示)遵循以下步骤,

  • 使用 Maven,首先在 eclipse 中执行项目。
  • 因此,PMD 基于我的文件创建了自己的 pmd.xml 文件。
  • 将我生成的 PMD.xml 替换为 PMD 生成的一个。
  • 在jenkin中导入pmd生成pmd.xml
  • 建成的项目和问题得到了解决。

于 2016-11-09T06:20:37.160 回答