Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-14474

jaxb-api dependency issue in fabric8-project-bom-fuse-karaf

XMLWordPrintable

    • % %
    • build2
    • Hide

      On project using @XmlType annotation and camel-dozer and Fuse BOM dependencies, Maven Dependency Tree shows the following:

      [russ@russ-workstation dozer-reproducer]$ mvn dependency:tree -Dverbose
      [INFO] Scanning for projects...
      [INFO]
      [INFO] ------------------< com.redhat:dozer-jaxb-reproducer >------------------
      [INFO] Building Red Hat Fuse Dozer import reproducer 0.0.1-SNAPSHOT
      [INFO] -------------------------------[ bundle ]-------------------------------
      [INFO]
      [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ dozer-jaxb-reproducer ---
      [INFO] com.redhat:dozer-jaxb-reproducer:bundle:0.0.1-SNAPSHOT
      [INFO] +- org.apache.camel:camel-blueprint:jar:2.21.0.fuse-760027-redhat-00001:provided
      [INFO] |  +- (org.apache.camel:camel-core:jar:2.21.0.fuse-760027-redhat-00001:compile - scope updated from provided; omitted for duplicate)
      [INFO] |  +- org.apache.camel:camel-core-xml:jar:2.21.0.fuse-760027-redhat-00001:provided
      [INFO] |  |  +- (org.apache.camel:camel-core:jar:2.21.0.fuse-760027-redhat-00001:provided - omitted for duplicate)
      [INFO] |  |  +- (com.sun.xml.bind:jaxb-core:jar:2.3.0:provided - omitted for duplicate)
      [INFO] |  |  \- (com.sun.xml.bind:jaxb-impl:jar:2.3.0:provided - omitted for duplicate)
      [INFO] |  +- org.apache.camel:camel-core-osgi:jar:2.21.0.fuse-760027-redhat-00001:provided
      [INFO] |  |  +- (org.apache.camel:camel-core:jar:2.21.0.fuse-760027-redhat-00001:provided - omitted for duplicate)
      [INFO] |  |  +- (com.sun.xml.bind:jaxb-core:jar:2.3.0:provided - omitted for duplicate)
      [INFO] |  |  \- (com.sun.xml.bind:jaxb-impl:jar:2.3.0:provided - omitted for duplicate)
      [INFO] |  +- (com.sun.xml.bind:jaxb-core:jar:2.3.0:compile - scope updated from provided; omitted for duplicate)
      [INFO] |  \- (com.sun.xml.bind:jaxb-impl:jar:2.3.0:compile - scope updated from provided; omitted for duplicate)
      [INFO] \- org.apache.camel:camel-dozer:jar:2.21.0.fuse-760027-redhat-00001:compile
      [INFO]    +- org.apache.camel:camel-core:jar:2.21.0.fuse-760027-redhat-00001:compile
      [INFO]    |  +- org.slf4j:slf4j-api:jar:1.7.22.redhat-2:compile
      [INFO]    |  +- (com.sun.xml.bind:jaxb-core:jar:2.3.0:compile - omitted for duplicate)
      [INFO]    |  \- (com.sun.xml.bind:jaxb-impl:jar:2.3.0:compile - omitted for duplicate)
      [INFO]    +- com.github.dozermapper:dozer-core:jar:6.4.1:compile
      [INFO]    |  +- commons-beanutils:commons-beanutils:jar:1.9.3:compile
      [INFO]    |  |  \- commons-collections:commons-collections:jar:3.2.2.redhat-2:compile (version managed from 3.2.2)
      [INFO]    |  +- org.apache.commons:commons-lang3:jar:3.9.0.redhat-00001:compile (version managed from 3.7)
      [INFO]    |  +- commons-io:commons-io:jar:2.5.0.redhat-3:compile (version managed from 2.5)
      [INFO]    |  +- javax.xml.bind:jaxb-api:jar:2.3.1:compile (version managed from 2.2.11)
      [INFO]    |  |  \- javax.activation:javax.activation-api:jar:1.2.0:compile
      [INFO]    |  +- (org.slf4j:slf4j-api:jar:1.7.22.redhat-2:compile - version managed from 1.7.25; omitted for duplicate)
      [INFO]    |  +- org.slf4j:jcl-over-slf4j:jar:1.7.22.redhat-2:compile (version managed from 1.7.25)
      [INFO]    |  |  \- (org.slf4j:slf4j-api:jar:1.7.22.redhat-2:compile - version managed from 1.7.25; omitted for duplicate)
      [INFO]    |  \- org.objenesis:objenesis:jar:2.6:compile
      [INFO]    +- javax.el:javax.el-api:jar:3.0.0:compile
      [INFO]    +- org.glassfish:javax.el:jar:3.0.0:compile
      [INFO]    +- com.sun.xml.bind:jaxb-core:jar:2.3.0:compile
      [INFO]    \- com.sun.xml.bind:jaxb-impl:jar:2.3.0:compile
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESS
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 3.849 s
      [INFO] Finished at: 2020-08-07T10:19:49-05:00
      [INFO] ------------------------------------------------------------------------
      
      Show
      On project using @XmlType annotation and camel-dozer and Fuse BOM dependencies, Maven Dependency Tree shows the following: [russ@russ-workstation dozer-reproducer]$ mvn dependency:tree -Dverbose [INFO] Scanning for projects... [INFO] [INFO] ------------------< com.redhat:dozer-jaxb-reproducer >------------------ [INFO] Building Red Hat Fuse Dozer import reproducer 0.0.1-SNAPSHOT [INFO] -------------------------------[ bundle ]------------------------------- [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ dozer-jaxb-reproducer --- [INFO] com.redhat:dozer-jaxb-reproducer:bundle:0.0.1-SNAPSHOT [INFO] +- org.apache.camel:camel-blueprint:jar:2.21.0.fuse-760027-redhat-00001:provided [INFO] |  +- (org.apache.camel:camel-core:jar:2.21.0.fuse-760027-redhat-00001:compile - scope updated from provided; omitted for duplicate) [INFO] |  +- org.apache.camel:camel-core-xml:jar:2.21.0.fuse-760027-redhat-00001:provided [INFO] |  |  +- (org.apache.camel:camel-core:jar:2.21.0.fuse-760027-redhat-00001:provided - omitted for duplicate) [INFO] |  |  +- (com.sun.xml.bind:jaxb-core:jar:2.3.0:provided - omitted for duplicate) [INFO] |  |  \- (com.sun.xml.bind:jaxb-impl:jar:2.3.0:provided - omitted for duplicate) [INFO] |  +- org.apache.camel:camel-core-osgi:jar:2.21.0.fuse-760027-redhat-00001:provided [INFO] |  |  +- (org.apache.camel:camel-core:jar:2.21.0.fuse-760027-redhat-00001:provided - omitted for duplicate) [INFO] |  |  +- (com.sun.xml.bind:jaxb-core:jar:2.3.0:provided - omitted for duplicate) [INFO] |  |  \- (com.sun.xml.bind:jaxb-impl:jar:2.3.0:provided - omitted for duplicate) [INFO] |  +- (com.sun.xml.bind:jaxb-core:jar:2.3.0:compile - scope updated from provided; omitted for duplicate) [INFO] |  \- (com.sun.xml.bind:jaxb-impl:jar:2.3.0:compile - scope updated from provided; omitted for duplicate) [INFO] \- org.apache.camel:camel-dozer:jar:2.21.0.fuse-760027-redhat-00001:compile [INFO]    +- org.apache.camel:camel-core:jar:2.21.0.fuse-760027-redhat-00001:compile [INFO]    |  +- org.slf4j:slf4j-api:jar:1.7.22.redhat-2:compile [INFO]    |  +- (com.sun.xml.bind:jaxb-core:jar:2.3.0:compile - omitted for duplicate) [INFO]    |  \- (com.sun.xml.bind:jaxb-impl:jar:2.3.0:compile - omitted for duplicate) [INFO]    +- com.github.dozermapper:dozer-core:jar:6.4.1:compile [INFO]    |  +- commons-beanutils:commons-beanutils:jar:1.9.3:compile [INFO]    |  |  \- commons-collections:commons-collections:jar:3.2.2.redhat-2:compile (version managed from 3.2.2) [INFO]    |  +- org.apache.commons:commons-lang3:jar:3.9.0.redhat-00001:compile (version managed from 3.7) [INFO]    |  +- commons-io:commons-io:jar:2.5.0.redhat-3:compile (version managed from 2.5) [INFO]    |  +- javax.xml.bind:jaxb-api:jar:2.3.1:compile (version managed from 2.2.11) [INFO]    |  |  \- javax.activation:javax.activation-api:jar:1.2.0:compile [INFO]    |  +- (org.slf4j:slf4j-api:jar:1.7.22.redhat-2:compile - version managed from 1.7.25; omitted for duplicate) [INFO]    |  +- org.slf4j:jcl-over-slf4j:jar:1.7.22.redhat-2:compile (version managed from 1.7.25) [INFO]    |  |  \- (org.slf4j:slf4j-api:jar:1.7.22.redhat-2:compile - version managed from 1.7.25; omitted for duplicate) [INFO]    |  \- org.objenesis:objenesis:jar:2.6:compile [INFO]    +- javax.el:javax.el-api:jar:3.0.0:compile [INFO]    +- org.glassfish:javax.el:jar:3.0.0:compile [INFO]    +- com.sun.xml.bind:jaxb-core:jar:2.3.0:compile [INFO]    \- com.sun.xml.bind:jaxb-impl:jar:2.3.0:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3.849 s [INFO] Finished at: 2020-08-07T10:19:49-05:00 [INFO] ------------------------------------------------------------------------

      When using camel-dozer, end up with auto imported (via maven-bundle-plugin) bundle imports for JAX-B 2.3 or later, resulting from the import of the fuse-karaf-bom and its managed version of jaxb-api 2.3.1.
       
      However, Fuse 7.x is tested and supported to run on Java 8, which supports JAX-B 2.2.11 [1]
       
      Upon review of the dependency tree on simple project including camel-dozer component logs [0] show the following:

      [INFO]    |  +- javax.xml.bind:jaxb-api:jar:2.3.1:compile (version managed from 2.2.11)

      When I traverse the BOMs I see the culprit is the fabric8-project-bom-fuse-karaf BOM imported by the fuse-karaf-bom.

      Please update fabric8-project-bom-fuse-karaf
       
              <version.javax.xml.bind.jaxb-api>2.3.1</version.javax.xml.bind.jaxb-api>
       
      as such
       
              <version.javax.xml.bind.jaxb-api>2.2.11</version.javax.xml.bind.jaxb-api>

       

      [1] https://javaee.github.io/jaxb-v2/doc/user-guide/ch02.html#a-2-3-0

              ggrzybek Grzegorz Grzybek
              rdorobek@redhat.com Russell Dorobek
              Tomas Veskrna Tomas Veskrna
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: