we using xml language sonar plugin , have added custom xpath rules when activate schema check rule classnotfoundexception:
org.sonar.api.utils.sonarexception: java.lang.classnotfoundexception: org.apache.xerces.dom.domimplementationsourceimpl initially using sonar version 5.1.1 version 1.3 of xml language plugin installed on ubuntu 14.04 using oracle java version "1.8.0_45" - tried various 1.7 , 1.8 javas. tried running analysis first using sonar runner v2.4 , using sonar ant task v2.3 , both gave same error.
we found there jira raised this: sonarxml-3 has been closed "won't fix" because not reproduced on sonarqube 4.5.4.
we did clean install of sonar 4.5.4 version 1.3 of xml language plugin onto windows machine , used simple test case.
after install did following:
- created custom rule based on "xml schemas should valid" rule
- left schemas default "autodetect" , set filepattern "**/*.html"
- added "html" file suffixes setting of xml plugin
- activated custom rule in "sonar way" profile
when ran sonar runner on single html file still got same error.
i have looked in xml plugin jar , there contains xercesimpl-2.8.1.jar in meta-inf/lib contains class complains can't find.
i not sure try next. have missed step when configuring sonar server or sonar runner?
edited add simple project info:
a single file analysis, basic.html:
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>title of document</title> </head> <body> content </body> </html> sonar-project.properties:
sonar.projectkey=simple:schema-test sonar.projectname=schema check test sonar.projectversion=1.0 sonar.sources=. output sonar-runner:
sonarqube runner 2.4 java 1.8.0_45 oracle corporation (64-bit) linux 3.13.0-57-generic amd64 info: runner configuration file: /home/mike/sonardev/sonar-runner-2.4/conf/sonar-runner.properties info: project configuration file: /home/mike/sonardev/simpleschema/sonar-project.properties info: default locale: "en_gb", source code encoding: "utf-8" info: work directory: /home/mike/sonardev/simpleschema/./.sonar info: sonarqube server 4.5.4 13:08:39.283 info - load global referentials... 13:08:39.765 info - load global referentials done: 488 ms 13:08:39.805 info - user cache: /home/mike/.sonar/cache 13:08:39.837 info - install plugins 13:08:39.864 info - download sonar-core-plugin-4.5.4.jar 13:08:39.933 info - download sonar-email-notifications-plugin-4.5.4.jar 13:08:39.979 info - download sonar-findbugs-plugin-2.4.jar 13:08:40.258 info - download sonar-java-plugin-2.4.jar 13:08:40.328 info - download sonar-xml-plugin-1.3.jar 13:08:40.512 info - download sonar-cpd-plugin-4.5.4.jar 13:08:40.528 info - download sonar-design-plugin-4.5.4.jar 13:08:40.553 info - download sonar-dbcleaner-plugin-4.5.4.jar 13:08:40.577 info - download sonar-l10n-en-plugin-4.5.4.jar 13:08:40.683 info - install jdbc driver 13:08:40.713 info - download mysql-connector-java-5.1.27.jar 13:08:40.761 info - create jdbc datasource jdbc:mysql://localhost:3306/sonar4?useunicode=true&characterencoding=utf8 13:08:44.377 info - initializing hibernate 13:08:47.843 info - load project referentials... 13:08:48.430 info - load project referentials done: 587 ms 13:08:48.438 info - load project settings 13:08:49.256 info - loading technical debt model... 13:08:49.348 info - loading technical debt model done: 92 ms 13:08:49.372 info - apply project exclusions 13:08:49.988 info - ------------- scan schema check test 13:08:50.018 info - load module settings 13:08:51.201 info - loading rules... 13:08:51.930 info - loading rules done: 725 ms 13:08:52.035 info - configure maven plugins 13:08:52.447 info - compare previous analysis (2015-07-22) 13:08:52.475 info - compare on 30 days (2015-06-22, analysis of 2015-07-22 12:56:55.0) 13:08:52.480 info - no quality gate configured. 13:08:53.015 info - base dir: /home/mike/sonardev/simpleschema/. 13:08:53.022 info - working dir: /home/mike/sonardev/simpleschema/./.sonar 13:08:53.024 info - source paths: . 13:08:53.024 info - source encoding: utf-8, default locale: en_gb 13:08:53.024 info - index files 13:08:53.224 info - 1 files indexed 13:08:53.370 info - quality profile xml: sonar way 13:08:53.422 info - sensor qprofilesensor... 13:08:53.464 info - sensor qprofilesensor done: 42 ms 13:08:53.466 info - sensor initialopenissuessensor... 13:08:53.504 info - sensor initialopenissuessensor done: 38 ms 13:08:53.510 info - sensor projectlinkssensor... 13:08:53.533 info - sensor projectlinkssensor done: 23 ms 13:08:53.539 info - sensor versioneventssensor... 13:08:53.592 info - sensor versioneventssensor done: 53 ms 13:08:53.593 info - sensor filehashsensor... 13:08:53.608 info - sensor filehashsensor done: 15 ms 13:08:53.608 info - sensor xmlsensor... 13:08:54.071 error - not analyze file /home/mike/sonardev/simpleschema/basic.html org.sonar.api.utils.sonarexception: java.lang.classnotfoundexception: org.apache.xerces.dom.domimplementationsourceimpl @ org.sonar.plugins.xml.schemas.schemaresolver.createlsinput(schemaresolver.java:122) ~[na:na] @ org.sonar.plugins.xml.schemas.schemaresolver.resolveresource(schemaresolver.java:269) ~[na:na] @ com.sun.org.apache.xerces.internal.util.domentityresolverwrapper.resolveentity(domentityresolverwrapper.java:117) ~[na:1.8.0_45] @ com.sun.org.apache.xerces.internal.impl.xmlentitymanager.resolveentity(xmlentitymanager.java:1079) ~[na:1.8.0_45] @ com.sun.org.apache.xerces.internal.impl.xs.xmlschemaloader.resolvedocument(xmlschemaloader.java:660) ~[na:1.8.0_45] @ com.sun.org.apache.xerces.internal.impl.xs.traversers.xsdhandler.resolveschema(xsdhandler.java:2052) ~[na:1.8.0_45] @ com.sun.org.apache.xerces.internal.impl.xs.traversers.xsdhandler.constructtrees(xsdhandler.java:1008) ~[na:1.8.0_45] @ com.sun.org.apache.xerces.internal.impl.xs.traversers.xsdhandler.parseschema(xsdhandler.java:620) ~[na:1.8.0_45] @ com.sun.org.apache.xerces.internal.impl.xs.xmlschemaloader.loadschema(xmlschemaloader.java:617) ~[na:1.8.0_45] @ com.sun.org.apache.xerces.internal.impl.xs.xmlschemaloader.loadgrammar(xmlschemaloader.java:575) ~[na:1.8.0_45] @ com.sun.org.apache.xerces.internal.impl.xs.xmlschemaloader.loadgrammar(xmlschemaloader.java:541) ~[na:1.8.0_45] @ com.sun.org.apache.xerces.internal.jaxp.validation.xmlschemafactory.newschema(xmlschemafactory.java:255) ~[na:1.8.0_45] @ org.sonar.plugins.xml.checks.xmlschemacheck.createschema(xmlschemacheck.java:146) ~[na:na] @ org.sonar.plugins.xml.checks.xmlschemacheck.validate(xmlschemacheck.java:232) ~[na:na] @ org.sonar.plugins.xml.checks.xmlschemacheck.autodetectschemaandvalidate(xmlschemacheck.java:164) ~[na:na] @ org.sonar.plugins.xml.checks.xmlschemacheck.validate(xmlschemacheck.java:222) ~[na:na] @ org.sonar.plugins.xml.checks.xmlschemacheck.validate(xmlschemacheck.java:260) ~[na:na] @ org.sonar.plugins.xml.xmlsensor.analyse(xmlsensor.java:77) ~[na:na] @ org.sonar.batch.phases.sensorsexecutor.executesensor(sensorsexecutor.java:79) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.phases.sensorsexecutor.execute(sensorsexecutor.java:70) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.phases.phaseexecutor.execute(phaseexecutor.java:119) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.scan.modulescancontainer.doafterstart(modulescancontainer.java:194) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.api.platform.componentcontainer.startcomponents(componentcontainer.java:93) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.api.platform.componentcontainer.execute(componentcontainer.java:78) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.scan.projectscancontainer.scan(projectscancontainer.java:233) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.scan.projectscancontainer.scanrecursively(projectscancontainer.java:228) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.scan.projectscancontainer.doafterstart(projectscancontainer.java:221) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.api.platform.componentcontainer.startcomponents(componentcontainer.java:93) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.api.platform.componentcontainer.execute(componentcontainer.java:78) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.scan.scantask.scan(scantask.java:64) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.scan.scantask.execute(scantask.java:51) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.bootstrap.taskcontainer.doafterstart(taskcontainer.java:125) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.api.platform.componentcontainer.startcomponents(componentcontainer.java:93) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.api.platform.componentcontainer.execute(componentcontainer.java:78) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.bootstrap.bootstrapcontainer.executetask(bootstrapcontainer.java:173) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.bootstrapper.batch.executetask(batch.java:95) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.batch.bootstrapper.batch.execute(batch.java:67) [sonar-batch-maven-compat-4.5.4.jar:na] @ org.sonar.runner.batch.isolatedlauncher.execute(isolatedlauncher.java:48) [sonar-runner-batch2088275009626652419.jar:na] @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) ~[na:1.8.0_45] @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) ~[na:1.8.0_45] @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) ~[na:1.8.0_45] @ java.lang.reflect.method.invoke(method.java:497) ~[na:1.8.0_45] @ org.sonar.runner.impl.batchlauncher$1.delegateexecution(batchlauncher.java:87) [sonar-runner-dist-2.4.jar:na] @ org.sonar.runner.impl.batchlauncher$1.run(batchlauncher.java:75) [sonar-runner-dist-2.4.jar:na] @ java.security.accesscontroller.doprivileged(native method) [na:1.8.0_45] @ org.sonar.runner.impl.batchlauncher.doexecute(batchlauncher.java:69) [sonar-runner-dist-2.4.jar:na] @ org.sonar.runner.impl.batchlauncher.execute(batchlauncher.java:50) [sonar-runner-dist-2.4.jar:na] @ org.sonar.runner.api.embeddedrunner.doexecute(embeddedrunner.java:102) [sonar-runner-dist-2.4.jar:na] @ org.sonar.runner.api.runner.execute(runner.java:100) [sonar-runner-dist-2.4.jar:na] @ org.sonar.runner.main.executetask(main.java:70) [sonar-runner-dist-2.4.jar:na] @ org.sonar.runner.main.execute(main.java:59) [sonar-runner-dist-2.4.jar:na] @ org.sonar.runner.main.main(main.java:53) [sonar-runner-dist-2.4.jar:na] caused by: java.lang.classnotfoundexception: org.apache.xerces.dom.domimplementationsourceimpl @ java.net.urlclassloader.findclass(urlclassloader.java:381) ~[na:1.8.0_45] @ java.lang.classloader.loadclass(classloader.java:424) ~[na:1.8.0_45] @ java.lang.classloader.loadclass(classloader.java:357) ~[na:1.8.0_45] @ org.w3c.dom.bootstrap.domimplementationregistry.newinstance(domimplementationregistry.java:182) ~[na:1.8.0_45] @ org.sonar.plugins.xml.schemas.schemaresolver.createlsinput(schemaresolver.java:115) ~[na:na] ... 51 common frames omitted 13:08:54.077 info - sensor xmlsensor done: 469 ms 13:08:54.079 info - sensor linecountsensor... 13:08:54.110 info - sensor linecountsensor done: 31 ms 13:08:54.112 info - sensor cpd sensor (wrapped)... 13:08:54.112 info - defaultcpdengine used xml 13:08:54.114 info - cross-project analysis disabled 13:08:54.148 info - sensor cpd sensor (wrapped) done: 36 ms 13:08:54.639 info - execute decorators... 13:08:55.155 info - store results in database 13:08:55.494 info - analysis successful, can browse http://localhost:9000/dashboard/index/simple:schema-test 13:08:55.592 info - executing post-job class org.sonar.plugins.core.issue.notification.sendissuenotificationspostjob 13:08:55.593 info - executing post-job class org.sonar.plugins.core.batch.indexprojectpostjob 13:08:55.698 info - executing post-job class org.sonar.plugins.dbcleaner.projectpurgepostjob 13:08:55.782 info - -> keep 1 snapshot per day between 2015-06-24 , 2015-07-21 13:08:55.793 info - -> keep 1 snapshot per week between 2014-07-23 , 2015-06-24 13:08:55.799 info - -> keep 1 snapshot per month between 2010-07-28 , 2014-07-23 13:08:55.809 info - -> delete data prior to: 2010-07-28 13:08:55.826 info - -> clean schema check test [id=312] 13:08:55.860 info - <- clean snapshot 695 info: ------------------------------------------------------------------------ info: execution success info: ------------------------------------------------------------------------ total time: 18.958s final memory: 12m/118m info: ------------------------------------------------------------------------
Comments
Post a Comment