我正在尝试将Sonar Web和XML质量配置文件分析添加到我的稳定的Java配置文件分析套件中。 Sonar XML质量配置文件分析无法完成XHTML验证。我怀疑问题是由于代理问题,验证引擎无法通过互联网访问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]
配置:
我认为我需要Tomcat来抑制代理设置,因此Jenkins Subversion访问可以正常工作,但需要Tomcat代理设置才能使用Sonar XML分析。也许我需要放弃Tomcat,转而支持Jenkins和Sonar的独立安装?
我的代理设置分析是否正确和/或是否有其他Sonar配置我可以尝试让XHTML验证工作?
答案 0 :(得分:1)
我通过配置Jenkins使用的Maven安装来使用代理连接到网络来解决了这个问题。参考:http://maven.apache.org/guides/mini/guide-proxies.html。在Maven代理配置中,我在*.<corporate-domain-root>.*
中添加了内部网URI(<nonProxyHosts>
)。
conf / sonar.properties 中的Sonar代理服务器属性不是必需的。
现在,Jenkins和Sonar是通过Tomcat启动的,没有代理设置(即空-Dhttp.proxyHost
和-Dhttp.proxyPort
开关)。当Jenkins作业通过Maven触发Sonar分析时,Maven能够在进行XML模式验证检查时通过代理配置调用Internet。