2013-09-21 61 views
0

我想分析使用SOnar的Java項目3.7 & sonar-runner 2.3。聲納亞軍2.3拋出異常聲納3.7 - > IllegalDataException

我成功地能夠使用Sonar 3.6.1分析相同的代碼庫Sonar runner 2.2.1具有相同的規則集/配置文件。

然而,當我已經升級版本,那麼我有以下錯誤......

org.jdom.IllegalDataException:數據「空」是不合法的JDO M個屬性:空是不是合法的XML值

控制檯輸出:

SonarQube Runner 2.3 Java 1.6.0_30 Sun Microsystems Inc. (64-bit) Windows 7 6.1 amd64 
INFO: Error stacktraces are turned on. 
INFO: Runner configuration file: C:\Dhruba\InstallationFolder\Sonar\sonar-runner-2.3\conf\sonar-runner.properties 
INFO: Project configuration file: C:\Dhruba\Projects\Elsevier-OPSBANK_II_AIS\R11_Service_Workspace\sonar-project.properties 
INFO: Default locale: "en_US", source code encoding: "windows-1252" (analysis is platform dependent) 
INFO: Work directory: C:\Dhruba\Projects\Elsevier-OPSBANK_II_AIS\R11_Service_Workspace\.sonar 
INFO: SonarQube Server 3.7 
13:38:29.376 INFO - Load batch settings 
13:38:29.482 INFO - User cache: C:\Users\Dhruba\.sonar\cache 
13:38:29.487 INFO - Install plugins 
13:38:31.219 INFO - Install JDBC driver 
13:38:31.227 INFO - Create JDBC datasource for jdbc:oracle:thin:@localhost:1521 /orcl 
13:38:32.382 INFO - Initializing Hibernate 13:38:34.579 INFO - Load project settings 
13:38:34.665 INFO - Apply project exclusions 
13:38:34.788 INFO - ------------- Scan OPSBankIIUtilityService 
13:38:34.790 INFO - Load module settings 
13:38:35.382 INFO - Quality profile : [name=OBBase1,language=java] 
13:38:35.394 INFO - Excluded sources: 
13:38:35.394 INFO - **/*_*.java 
13:38:35.394 INFO - **/bo/** 
13:38:35.395 INFO - */stub/** 
13:38:35.395 INFO - **/*FacadeSoap*.java  
13:38:35.395 INFO - com.ibm.ejs.container._EJSWrapper_**/src 
13:38:35.395 INFO - *_Deser/src 
13:38:35.395 INFO - *Proxy.java 
13:38:35.395 INFO - */*FacadeHome.java 
13:38:35.395 INFO - */*FacadeLocalHome.java 13:38:35.395 INFO - com/elsevier/obii/xml/* 
13:38:35.395 INFO - Excluded tests: 
13:38:35.395 INFO - */package-info.java 
13:38:35.430 INFO - Configure Maven plugins 
13:38:35.502 INFO - Compare to previous analysis 
13:38:35.532 INFO - Compare over 7 days (2013-09-14) 
13:38:35.558 INFO - Compare to previous version 
13:38:35.734 INFO - Base dir: C:\Dhruba\Projects\Elsevier-OPSBANK_II_AIS\R11_Service_Workspace\OPSBankIIUtilityService 
13:38:35.734 INFO - Working dir: C:\Dhruba\Projects\Elsevier-OPSBANK_II_AIS\R11_Service_Workspace\.sonar\dhrsrvc_OPSBankIIUtilityService 
13:38:35.735 INFO - Source dirs: C:\Dhruba\Projects\Elsevier-OPSBANK_II_AIS\R11_Service_Workspace\OPSBankIIUtilityService\src 
13:38:35.735 INFO - Source encoding: windows-1252, default locale: en_US 
13:38:36.090 INFO - Sensor JavaSourceImporter... 
13:38:37.021 INFO - Sensor JavaSourceImporter done: 931 ms 
13:38:37.021 INFO - Sensor JavaSquidSensor... 
13:38:37.160 INFO - Java AST scan... 
13:38:40.518 INFO - Java AST scan done: 3358 ms 
13:38:40.763 INFO - Sensor JavaSquidSensor done: 3742 ms 
13:38:40.764 INFO - Sensor SurefireSensor... 
13:38:40.765 INFO - parsing C:\Dhruba\Projects\Elsevier-OPSBANK_II_AIS\R11_Service_Workspace\.sonar\dhrsrvc_OPSBankIIUtilityService\build\surefire-reports 
13:38:40.767 INFO - Sensor SurefireSensor done: 3 ms 
13:38:40.769 INFO - Sensor CpdSensor... 
13:38:40.770 INFO - SonarEngine is used 
13:38:40.846 INFO - Cross-project analysis disabled 
13:38:41.511 INFO - Sensor CpdSensor done: 742 ms 
13:38:41.511 INFO - Sensor CheckstyleSensor... 
13:38:41.514 INFO - Execute Checkstyle 5.6... 
13:38:41.534 INFO - Checkstyle configuration: C:\Dhruba\Projects\Elsevier-OPSBANK_II_AIS\R11_Service_Workspace\.sonar\dhrsrvc_OPSBankIIUtilityService\checkstyle.xml 
13:38:43.845 INFO - Execute Checkstyle 5.6 done: 2331 ms 
13:38:43.849 INFO - Sensor CheckstyleSensor done: 2338 ms 
13:38:43.850 INFO - Sensor PmdSensor... 
13:38:43.853 INFO - Execute PMD 4.3... 
13:38:43.864 INFO - Java version: 1.5 
13:38:44.008 INFO - Execute PMD 4.3 done: 155 ms 
INFO: ------------------------------------------------------------------------ 
INFO: EXECUTION FAILURE 
INFO: ------------------------------------------------------------------------ 
Total time: 17.761s Final Memory: 15M/406M 
INFO: ------------------------------------------------------------------------ 
ERROR: Error during Sonar runner execution 
org.sonar.runner.impl.RunnerException: Unable to execute Sonar 
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91) 
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) 
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) 
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) 
    at org.sonar.runner.api.Runner.execute(Runner.java:90) 
    at org.sonar.runner.Main.executeTask(Main.java:70) 
    at org.sonar.runner.Main.execute(Main.java:59) 
    at org.sonar.runner.Main.main(Main.java:41) Caused by: org.sonar.api.utils.XmlParserException: org.jdom.IllegalDataException : The data "null" is not legal for a JDOM attribute: A null is not a legal XML value. 
    at org.sonar.plugins.pmd.PmdSensor.analyse(PmdSensor.java:55) 
    at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:72) 
    at org.sonar.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:114) 
    at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:142) 
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:88) 
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:73) 
    at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:186) 
    at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:181) 
    at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:179) 
    at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:174) 
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:88) 
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:73) 
    at org.sonar.batch.scan.ScanTask.scan(ScanTask.java:57) 
    at org.sonar.batch.scan.ScanTask.execute(ScanTask.java:45) 
    at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:82) 
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:88) 
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:73) 
    at org.sonar.batch.bootstrap.BootstrapContainer.executeTask(BootstrapContainer.java:156) 
    at org.sonar.batch.bootstrap.BootstrapContainer.doAfterStart(BootstrapContainer.java:144) 
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:88) 
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:73) 
    at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92) 
    at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:74) 
    at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) 
    ... 9 more 
**Caused by: org.jdom.IllegalDataException: The data "null" is not legal for a JDO M attribute: A null is not a legal XML value.** 
    at org.jdom.Attribute.setValue(Attribute.java:486) 
    at org.jdom.Attribute.<init>(Attribute.java:229) 
    at org.jdom.Attribute.<init>(Attribute.java:252) 
    at org.jdom.Element.setAttribute(Element.java:1109) 
    at org.sonar.plugins.pmd.PmdProfileExporter.exportPmdRulesetToXml(PmdProfileExporter.java:126) 
    at org.sonar.plugins.pmd.PmdProfileExporter.exportProfile(PmdProfileExporter.java:63) 
    at org.sonar.plugins.pmd.PmdExecutor.createRulesets(PmdExecutor.java:107) 
    at org.sonar.plugins.pmd.PmdExecutor.executeRules(PmdExecutor.java:89) 
    at org.sonar.plugins.pmd.PmdExecutor.executePmd(PmdExecutor.java:75) 
    at org.sonar.plugins.pmd.PmdExecutor.execute(PmdExecutor.java:61) 
    at org.sonar.plugins.pmd.PmdSensor.analyse(PmdSensor.java:52) 
    ... 37 more ERROR: ERROR: Re-run SonarQube Runner using the -X switch to enable full debug logging. 

能否請您幫助解決這個嗎?

回答

0

我在分析這個問題,發現從Sonar 3.6.1到3.7的導入配置文件有問題。 Sonar 3.7無法解析很少的XPath規則。

因此,我剛剛刪除了這些XPath規則並手動重新添加它們,並開始工作。這個問題不是Sonar-runner的錯誤,而是Sonar 3.7無法正確恢復配置文件。