Links: Table of Contents | Single HTML | Single PDF

Release Notes

Table of Contents

1. Java™ SE Requirements
2. Identifying the JAR Files
3. Identifying the JPMS module names
4. Locating the Normative Binding Schema
5. Changelog
5.1. Changes between 4.0.4 and 4.0.5
5.2. Changes between 4.0.3 and 4.0.4
5.3. Changes between 4.0.2 and 4.0.3
5.4. Changes between 4.0.1 and 4.0.2
5.5. Changes between 4.0.0 and 4.0.1
5.6. Changes in 4.0.0 - initial release for Jakarta EE 10
5.7. Changes between 3.0.1 and 3.0.2
5.8. Changes between 3.0.0 and 3.0.1
5.9. Changes in 3.0.0 - initial release for Jakarta EE 9
5.10. Changes in 2.3.2 - initial release for Jakarta EE 8

This document contains information that should help you use this software library more effectively. See the Frequently Asked Questions for additional information.

The most up-to-date version of this document can be found on-line.

1.  Java™ SE Requirements

This release of the Eclipse Implementation of JAXB requires Java SE 11 or higher.

2. Identifying the JAR Files

Use

Description

Jar

Runtime

Jars required to deploy a Jakarta XML Binding client

jakarta.activation-api.jar

angus-activation.jar

jakarta.xml.bind-api.jar

jaxb-core.jar

jaxb-impl.jar

Compiler

Jars required at your development environment (but not runtime)

jaxb-jxc.jar

jaxb-xjc.jar

3. Identifying the JPMS module names

Jar

Module name

Maven GAV

jakarta.activation-api.jar

jakarta.activation

jakarta.activation:jakarta.activation-api

angus-activation.jar

com.sun.activation.registries

org.eclipse.angus:angus-activation

jakarta.xml.bind-api.jar

jakarta.xml.bind

jakarta.xml.bind:jakarta.xml.bind-api

jaxb-core.jar

com.sun.xml.bind.core

com.sun.xml.bind:jaxb-core

jaxb-impl.jar

com.sun.xml.bind

com.sun.xml.bind:jaxb-impl

jaxb-jxc.jar

com.sun.tools.jxc

com.sun.xml.bind:jaxb-jxc

jaxb-xjc.jar

com.sun.tools.xjc

com.sun.xml.bind:jaxb-xjc

4. Locating the Normative Binding Schema

You may find information about the normative binding schema defined in the Jakarta XML Binding Specification at https://jakarta.ee/xml/ns/jaxb.

5. Changelog

The Eclipse Implementation of JAXB 4.x meets the requirements of the Jakarta XML Binding 4.x specifications.

5.1. Changes between 4.0.4 and 4.0.5

  • Bug fixes:

    • #209: Schema-driven XmlAdapter using xjc:javaType

    • #737: xjc:javaType does not handle generic types

    • #1730: Error while parsing rnc

    • #1770: Wrong property value of the property for CharacterEscapeHandler

    • #1783: Dependency Exclusion for stax-ex in jaxb-bom is incompatible with dependency:analyze-dep-mgt

    • #1785: XJC ConstField generates empty javadoc comment blocks

    • dtd-parser #39: Parser parses #IMPLIED use attributes as NORMAL (and vice versa)

    • dtd-parser #40: Occurrence constants are misspelled

    • fi #48: Use StringBuilder instead of StringBuffer

5.2. Changes between 4.0.3 and 4.0.4

  • Bug fixes:

    • #829: schemagen and xjc should add 'if-exists' to bindings when generating an episode file

    • #965: compiler was unable to honor this schemaBinding customization (in episodic compilation)

    • #1099: Binding Customizations errors when using Episode

    • #1073: jaxb:globalBindings optionalProperty="primitive" causes NullPointer in xjc

    • #1320: xjc: BGMBuilder creates error for unused customizations before they can be acknowledged

    • #1507: ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory: missing Capability

    • #1583: XJC throws NPE when optionalProperty="primitive"

    • #1695: DatatypeConverter.parseBoolean converts invalid strings to true

    • #1708: add javadoc from xsd documentation tags

    • #1724: JAXBContext having defaultNamespaceRemap after release 4.0.3 produces unexpected xml

    • #1731: Incompatibility with namespace when marshalling WebFault with FaultInfo on call of WebService

    • #1732: systemId resolution regression introduced in 2.3.4+

    • #1736: xjc: postProcessModel is not called for DTDs

    • #1737: Add https to special handling in package name derivation

    • #1742: Unexpected form=qualified Attribute in XSD Elements

    • #1743: Rework stackoverflow handling for missing elements in xsd schemagen

    • #1748: xjc: ElementOutlineImpl produces raw type

    • #1750: xjc: ElementOutlineImpl omits serialVersionUID

    • #1757: txw runtime and compiler should have different module names

    • #1761: Move JavaCompiler, Reference and J2SJAXBModel from XJC API to JXC API

5.3. Changes between 4.0.2 and 4.0.3

  • Bug fixes:

    • #574: Nullpointer Exception in DTD parsing

    • #1065: XJC fails on RELAXNG_COMPACT compilation with datatype library "http://www.w3.org/2001/XMLSchema-datatypes" not recognized

    • #1066: XJC fails on RELAXNG_COMPACT with NPE

    • #1450: XJC -relaxng still supported

    • #1700: ArrayIndexOutOfBoundsException when using com.sun.xml.bind.v2.runtime.output.C14nXmlOutput

    • #1701: xjc with WSDL emits erroneous warning

    • #1715: marshalling does not apply defaultNamespaceRemap setting to nested elements

5.4. Changes between 4.0.1 and 4.0.2

  • Bug fixes:

    • #1654: update xjc section in the userguide

    • #1669: [codemodel] Support Object and overridden JAnnotationWriter methods

    • #1674: com.sun.tools.xjc should run on JRE

    • #1676: Impossible to build with non-english system

    • #1677: Add/implement JVar.annotate(JAnnotationUse annotation)

    • #1679: Add/implement JAnnotationUse.param(String name, JAnnotationValue annotationValue)

    • #1680: Avoid eager initialization of Scope objects

    • #1682: Non-deterministic definition of default namespace @XmlSchema(namespace=...) in package-info.java

5.5. Changes between 4.0.0 and 4.0.1

  • Bug fixes:

5.6. Changes in 4.0.0 - initial release for Jakarta EE 10

  • Requires Java SE 11 or newer

  • Supports usage of JAXB 2.x schema bindings customizations

  • Bug fixes:

    • Fix equality on BISerializable

    • #936: problem with XMLMixed in a tag annotated XmlAnyElement

    • #971: annotation @XmlJavaTypeAdapters on package is ignored since JAXB v2.2.4-1

    • #1053: Use Java 7 diamond operator

    • #1117: xjc-generated classes may have methods with missing @param or @return

    • #1489: DOMScanner ignores default namespace at scan method

    • #1499: xjc - NGCCRuntimeEx.resolveRelativeURL(String namespaceURI, String relativeUri ) doesn't work as it should

    • #1505: JCodeModel.parseType(String) silently ignores type params in specific scenarios

    • #1590: Marshalling an object that overrides the parent's method, the XML that gets created contains both child's and parent's tag

    • #1599: XNOR implementation in NameUtil is called "xor"

    • #1624: Order of Exceptions in generated classes is non-deterministic

    • #1631: Support setting (un)marshaller listener on binder

5.7. Changes between 3.0.1 and 3.0.2

  • Bug fixes:

    • Fixed classloading in OSGI

    • #1547: Running with -XX:-StackTraceInThrowable causes a index out of bounds exception

    • #1556: xjc generates class reference with generics

5.8. Changes between 3.0.0 and 3.0.1

  • Bug fixes:

    • #1105: xjc mark-generated sometimes produces a wrong date value

    • #1466: ContextFinder always load the JAXBContext from jaxb-runtime 2.3.3

    • #1475: xjc: Option to generate old package names

    • #1502: XJC: fails to process XSD files without systemId.

5.9. Changes in 3.0.0 - initial release for Jakarta EE 9

  • Requires Java SE 8 or newer

  • Adopts new API package namespace - jakarta.xml.bind.*

  • Main implementation jar split into two parts - jaxb-core and (smaller) jaxb-impl

  • Content of the new jaxb-impl moved from com.sun.xml.bind package to org.glassfish.jaxb.runtime package

  • Content of the new jaxb-core moved from com.sun.xml.bind package to org.glassfish.jaxb.core package

  • Changed prefix of all properties from com.sun.xml.bind to org.glassfish.jaxb

  • Supports new namespace for schema customizations

    <bindings xmlns="https://jakarta.ee/xml/ns/jaxb" version="3.0">...</bindings>

5.10. Changes in 2.3.2 - initial release for Jakarta EE 8

  • First release under Eclipse Jakarta EE Platform:

    • Uptake of moved Jakarta APIs.