japicmp: Missing javax/xml/bind/JAXBException when executing on JDK 9

Hello.

I’m in the process of moving my projects to Java 9. I’m seeing errors like the following when executing japicmp:

[ERROR] Failed to execute goal com.github.siom79.japicmp:japicmp-maven-plugin:0.10.0:cmp (default) on project com.io7m.jnull.checkstyle: Execution default of goal com.github.siom79.japicmp:japicmp-maven-plugin:0.10.0:cmp failed: A required class was missing while executing com.github.siom79.japicmp:japicmp-maven-plugin:0.10.0:cmp: javax/xml/bind/JAXBException
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>com.github.siom79.japicmp:japicmp-maven-plugin:0.10.0
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/someone/.m2/repository/com/github/siom79/japicmp/japicmp-maven-plugin/0.10.0/japicmp-maven-plugin-0.10.0.jar
[ERROR] urls[1] = file:/home/someone/.m2/repository/org/apache/maven/maven-aether-provider/3.0.3/maven-aether-provider-3.0.3.jar
[ERROR] urls[2] = file:/home/someone/.m2/repository/org/sonatype/aether/aether-util/1.11/aether-util-1.11.jar
[ERROR] urls[3] = file:/home/someone/.m2/repository/org/sonatype/sisu/sisu-inject-bean/2.1.1/sisu-inject-bean-2.1.1.jar
[ERROR] urls[4] = file:/home/someone/.m2/repository/org/sonatype/sisu/sisu-guice/2.9.4/sisu-guice-2.9.4-no_aop.jar
[ERROR] urls[5] = file:/home/someone/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
[ERROR] urls[6] = file:/home/someone/.m2/repository/org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar
[ERROR] urls[7] = file:/home/someone/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
[ERROR] urls[8] = file:/home/someone/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[9] = file:/home/someone/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[10] = file:/home/someone/.m2/repository/com/github/siom79/japicmp/japicmp/0.10.0/japicmp-0.10.0.jar
[ERROR] urls[11] = file:/home/someone/.m2/repository/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar
[ERROR] urls[12] = file:/home/someone/.m2/repository/com/google/guava/guava/18.0/guava-18.0.jar
[ERROR] urls[13] = file:/home/someone/.m2/repository/io/airlift/airline/0.7/airline-0.7.jar
[ERROR] urls[14] = file:/home/someone/.m2/repository/com/google/code/findbugs/annotations/2.0.3/annotations-2.0.3.jar
[ERROR] urls[15] = file:/home/someone/.m2/repository/org/apache/maven/reporting/maven-reporting-impl/2.3/maven-reporting-impl-2.3.jar
[ERROR] urls[16] = file:/home/someone/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
[ERROR] urls[17] = file:/home/someone/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
[ERROR] urls[18] = file:/home/someone/.m2/repository/org/apache/maven/shared/maven-shared-utils/0.6/maven-shared-utils-0.6.jar
[ERROR] urls[19] = file:/home/someone/.m2/repository/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar
[ERROR] urls[20] = file:/home/someone/.m2/repository/org/apache/maven/doxia/doxia-sink-api/1.2/doxia-sink-api-1.2.jar
[ERROR] urls[21] = file:/home/someone/.m2/repository/org/apache/maven/doxia/doxia-core/1.2/doxia-core-1.2.jar
[ERROR] urls[22] = file:/home/someone/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar
[ERROR] urls[23] = file:/home/someone/.m2/repository/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar
[ERROR] urls[24] = file:/home/someone/.m2/repository/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
[ERROR] urls[25] = file:/home/someone/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar
[ERROR] urls[26] = file:/home/someone/.m2/repository/org/apache/maven/doxia/doxia-site-renderer/1.2/doxia-site-renderer-1.2.jar
[ERROR] urls[27] = file:/home/someone/.m2/repository/org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.jar
[ERROR] urls[28] = file:/home/someone/.m2/repository/org/apache/maven/doxia/doxia-module-xhtml/1.2/doxia-module-xhtml-1.2.jar
[ERROR] urls[29] = file:/home/someone/.m2/repository/org/apache/maven/doxia/doxia-module-fml/1.2/doxia-module-fml-1.2.jar
[ERROR] urls[30] = file:/home/someone/.m2/repository/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar
[ERROR] urls[31] = file:/home/someone/.m2/repository/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar
[ERROR] urls[32] = file:/home/someone/.m2/repository/org/apache/velocity/velocity/1.5/velocity-1.5.jar
[ERROR] urls[33] = file:/home/someone/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar
[ERROR] urls[34] = file:/home/someone/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
[ERROR] urls[35] = file:/home/someone/.m2/repository/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar
[ERROR] urls[36] = file:/home/someone/.m2/repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar
[ERROR] urls[37] = file:/home/someone/.m2/repository/commons-digester/commons-digester/1.6/commons-digester-1.6.jar
[ERROR] urls[38] = file:/home/someone/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
[ERROR] urls[39] = file:/home/someone/.m2/repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar
[ERROR] urls[40] = file:/home/someone/.m2/repository/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.jar
[ERROR] urls[41] = file:/home/someone/.m2/repository/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.jar
[ERROR] urls[42] = file:/home/someone/.m2/repository/org/codehaus/groovy/groovy-jsr223/2.4.6/groovy-jsr223-2.4.6.jar
[ERROR] urls[43] = file:/home/someone/.m2/repository/org/codehaus/groovy/groovy/2.4.6/groovy-2.4.6.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[project>com.io7m.jnull:com.io7m.jnull:2.0.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
[ERROR] 
[ERROR] -----------------------------------------------------
[ERROR] : javax.xml.bind.JAXBException

Is this a known issue?

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 1
  • Comments: 18 (11 by maintainers)

Commits related to this issue

Most upvoted comments

Actually, it seems this can be fixed without resorting to setting MAVEN_OPTS. The following worked ok for me:

          <plugin>              
            <groupId>com.github.siom79.japicmp</groupId>
            <artifactId>japicmp-maven-plugin</artifactId>
            <version>0.11.1</version>
            <configuration>
              ...
            </configuration>
            ...
            <dependencies>
              <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>2.3.0</version>
              </dependency>
              <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-core</artifactId>
                <version>2.3.0</version>
              </dependency>
              <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>2.3.0</version>
              </dependency>
              <dependency>
                <groupId>javax.activation</groupId>
                <artifactId>javax.activation-api</artifactId>
                <version>1.2.0</version>
              </dependency>
            </dependencies>
          </plugin>

Cf. https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j/43574427