Uploaded image for project: 'Maven PMD Plugin'
  1. Maven PMD Plugin
  2. MPMD-204

CPD report : Required class was missing : org/w3c/dom/ElementTraversal

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 3.3, 3.4
    • None
    • CPD
    • None
    • Maven 3.2.3

    Description

      Hi,

      Since maven-pmd-plugin v3.3, on a simple pom :

      <?xml version="1.0" encoding="UTF-8"?>
      <project...>
          <modelVersion>4.0.0</modelVersion>
          <groupId>test</groupId>
          <artifactId>test</artifactId>
          <version>1.0.0-SNAPSHOT</version>
          <packaging>jar</packaging>
          <reporting>
              <plugins>
                  <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-pmd-plugin</artifactId>
                      <version>3.4</version>
                  </plugin>
              </plugins>
          </reporting>
      </project>
      

      Command mvn site gives :

      Caused by: org.apache.maven.plugin.PluginContainerException: A required class was missing while executing org.apache.maven.plugins:maven-site-plugin:3.3:site: org/w3c/dom/ElementTraversal

      Stack :

      Caused by: java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
      	at java.lang.ClassLoader.defineClass1(Native Method)
      	[...]
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:227)
      	at org.apache.xerces.jaxp.DocumentBuilderImpl.newDocument(Unknown Source)
      	at net.sourceforge.pmd.cpd.XMLRenderer.createDocument(XMLRenderer.java:50)
      	at net.sourceforge.pmd.cpd.XMLRenderer.render(XMLRenderer.java:73)
      	at org.apache.maven.plugin.pmd.CpdReport.writeNonHtml(CpdReport.java:301)
      	at org.apache.maven.plugin.pmd.CpdReport.executeCpd(CpdReport.java:260)
      	at org.apache.maven.plugin.pmd.CpdReport.executeCpdWithClassloader(CpdReport.java:195)
      	at org.apache.maven.plugin.pmd.CpdReport.canGenerateReport(CpdReport.java:170)
      	[...]
      	at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:121)
      	[...]
      Caused by: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal
      	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
      	[...]
      	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:227)
      	[...]
      

      Adding this override fix the problem, but could introduce some impacts on other report plugins :

      <build>
              <pluginManagement>
                  <plugins>
                      <plugin>
                          <groupId>org.apache.maven.plugins</groupId>
                          <artifactId>maven-site-plugin</artifactId>
                          <version>3.4</version>
                          <dependencies>
                              <dependency>
                                  <groupId>xml-apis</groupId>
                                  <artifactId>xml-apis</artifactId>
                                  <version>1.4.01</version>
                              </dependency>
                          </dependencies>
                      </plugin>
                  </plugins>
              </pluginManagement>
          </build>
      

      Attachments

        1. site-plexus-classpath.log
          7 kB
          Alix Lourme

        Activity

          People

            Unassigned Unassigned
            axel3rd Alix Lourme
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: