我试图将Sonar和XML质量概要分析添加到我稳定的Java概要分析套件中。声纳XML质量概要分析无法完成XHTML验证。我怀疑问题是由于代理问题,验证引擎无法通过internet访问XML模式。
错误:
[INFO] [11:48:07.587] Sensor XmlSourceImporter...
[INFO] [11:48:23.354] Sensor XmlSourceImporter done: 15767 ms
[INFO] [11:48:23.354] Sensor XmlSensor...
[INFO] [11:48:23.557] Validate Exit.xhtml with schema xhtml1-transitional
[ERROR] [11:48:44.542] Could not analyze the file D:\Jenkins_home\.jenkins\jobs\...\Exit.xhtml
org.sonar.api.utils.SonarException: java.net.ConnectException: Connection timed out: connect
at org.sonar.plugins.xml.checks.XmlSchemaCheck.validate(XmlSchemaCheck.java:248) ~[na:na]
at org.sonar.plugins.xml.checks.XmlSchemaCheck.validate(XmlSchemaCheck.java:227) ~[na:na]
at org.sonar.plugins.xml.checks.XmlSchemaCheck.validate(XmlSchemaCheck.java:259) ~[na:na]
at org.sonar.plugins.xml.XmlSensor.analyse(XmlSensor.java:69) ~[na:na]
at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:72) [sonar-batch-3.7.1.jar:na]配置:
我想我遇到了一个陷阱22,我需要Tomcat来抑制代理设置,这样Jenkins颠覆访问就能工作,但是需要Tomcat代理设置才能让Sonar XML分析工作。也许我需要放弃Tomcat,而选择独立安装Jenkins和Sonar?
我是否正确地进行了代理设置分析和/或是否还有其他Sonar配置可以尝试使XHTML验证工作?
发布于 2014-01-02 16:41:03
我通过配置Jenkins使用的Maven安装来使用代理连接到网络来解决这个问题。参考资料:http://maven.apache.org/guides/mini/guide-proxies.html.在Maven代理配置中,我在<nonProxyHosts>中添加了intranet URI (<nonProxyHosts>)。
不需要conf/sonar.properties中的Sonar代理服务器属性。
所以现在,Jenkins和Sonar是通过Tomcat启动的,没有代理设置(即空的-Dhttp.proxyHost和-Dhttp.proxyPort交换机)。当Jenkins作业通过Maven触发Sonar分析时,Maven能够在执行XML模式验证检查时通过代理配置调用internet。
https://stackoverflow.com/questions/20354719
复制相似问题