Table of Contents
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 foundon-line.
This release of the JAXB Reference Implementation requires Java SE 7 or higher.
Jars required to deploy a JAXB 2.x client
Jars required at your development environment (but not runtime)
You may find information about the normative binding schema defined in the JAXB Specification athttp://java.sun.com/xml/ns/jaxb.
The JAXB 2.x RI is a major reimplementation to meet the requirements of the 2.x specifications.
Please refer to the jaxb-1-0-x-changelog for older releases.
JAXB RI is now JPMS modularized:
All modules have native module descriptor.
Removed jaxb-core module, which caused split package issue on JPMS.
RI binary bundle now has single jar per dependency instead of shaded fat jars.
Removed runtime class weaving optimization.
Removed legacy technology dependencies:
Adopt Java SE 9:
JAXB api can now be loaded as a module.
JAXB RI is able to run on Java SE 9 from the classpath.
Addes support for java.util.ServiceLoader mechanism.
Fixed split Message bundles between modules
Changed Codemodel to allow correct functioning of BeanValidation Plugin for XJC
'-disableXmlSecurity' flag usage
Fixed redundant namespace prefixes
Fixed mixed content for StAX
Now we generate OSGI manifests for jaxb-core, jaxb-impl, jaxb-xjc anc jaxb-jxc
as optional. They are part of JDK.
JAXB-973: generated code should be
JAXB-598: XJC generates ordered
@XmlSeeAlso annotations and episode files.
Fixed for preserving whitespaces within xsd:any mixed element
Fixed circular dependency between SAAJ and JAXB; stax-ex changed not to use SAAJ-API
Fixed catalog logging. Allow user to disable usage of system proxies. Force CatalogResolver to set verbosity level.
Fixed stream handling
Fixed wrong ref element generation
Fixed OSGi bug:
This release is integrated into JDK 8. (Build
JAXB RI project is now mavenized. New maven groupId introduced: org.glassfish.jaxb So if you are use maven you can simply add dependency block:
<dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-bom</artifactId> <version>2.2.8</version> <type>pom</type> </dependency>
From now JAXB RI project uses GIT VCS. You can get our sources from:
GitHub: git clone https://github.com/javaee/jaxb-v2.git
Integrated new osgi-fied api
Fixed the bug with namespaces. Namespace must match in order to be able to generate ref otherwise the generated element ref belongs to different namespace. Ref generation is isolated only to cases where package mapping prevails
Updated access to JAX-WS
New JAXP version support added.
Fixed broken links in documentation
JXC findBugs fixes.
Added txw to jaxb source repo
Fixed bug when JAXB marshaller setting xsi:nil as true for non-nillable elements
Fixed event handling for missing xsi type
added logging level check
Updated JAXB API with licence/fbugs fixes, and osgi fix
JAX_WS-1114: Fixed marshalling of gMonth type.
To enable old behavior use switch: jaxb.ri.useOldGmonthMapping
JAXB-937: Fixed Coordinator ThreadLocal
Fixed invalid absolute URL
Removed the need for synchronization - tailor can still happen multiple times under specific circumstances, but it's better than contention within multiple threads on one class
Fixed SimpleNameClass dependency
Fixed managing of nested collections.
Fixed maven configuration: made JDK deps required, map jaxb-extra-osgi exports by version, removed
Codemodel is imported into JAXB project tree
Added JAXB OSGi test.
JAXB 1.0 runtime is restored. It's bundled into the
now. Required libraries are located in
The processing of -source XJC option is removed. We use 2.0 version of the schema compiler. For generating 1.0.x code, please use an installation of the 1.0.x codebase.
resolver.jar is not bundled by JAXB anymore. It's already part of JDK.
If you are using JDK which doesn't contain it - you have to download it manually
(e.g. from maven:
JAXB project was split into several modules: core, impl, xjc and jxc. So now it is possible to use XJC
with other JAXB runtime implementation (e.g. EclipseLink MOXy). While using XJC be aware of having any runtime JAXB
jaxb-impl.jar ) on classpath.
JAXB-452 - Embedded DOM Elements may lose locally defined namespace prefixes
JAXB-915 - Cannot generate java classes from xjc
JAXB-919 - xjc - proxy authentication fails
JAXB-922 - JAXB samples fail
JAXB-939 - '#' at the end of a namespace : different of behavior, sometimes a underscore is added, sometimes not.
JAXB-940 - wrong default value for "target" parameter for xjc ant task
- JAXB differences in JDK 7 in
JAXB-912 - XJC split
Project cleaning done:
JAXB 1.0 is not bundled anymore.
Package com/sun/msv/datatype was extracted to
Fixed version number in OSGi bundles
JAX_WS-1059 - wsimport Ant tasks causes NoClassDefFoundError
JAXB-415 - Marshaller.marshall throws NPE if an adapter adapts a non-null bound value to null.
JAXB-488 - compatibility issue with JAXB 2.0
JAXB-608 - javax.xml.bind.DatatypeConverter.parseBoolean incorrect
JAXB-616 - XMLCatalog not used from xjc/xjctask when strict validation is enabled
JAXB-617 - setting Marshaller CharacterEncodingHandler with utf-8 does not work
JAXB-790 - Whitespace processing for xs:anyURI type
- Classes annotated with
@XmlTransient are still mapped to XML
JAXB-795 - Catalog passed to XJC is not used during the schema correctness check
- Failing with 'no-arg default constructor' on
JAXB-825 - Attribute with default generates different types for get and set methods
- Memory leak in
JAXB-834 - Cannot use binding file on Windows
JAXB-836 - CLONE -Marshaller.marshall throws NPE if an adapter adapts a non-null bound value to null.
JAXB-837 - XJC generated code misses out some fields from XML
JAXB-843 - Marshaller holds reference after marshalling for the writer that was used to marshal into
JAXB-844 - Memory Leak in com.sun.xml.bind.v2.runtime.Coordinator
JAXB-847 - DataTypeConverterImpl patch causes corrupted stream generation in some cases
JAXB-849 - JAXB:Invalid boolean values added to lists as 'false'
JAXB-856 - xs:import namespace="http://www.w3.org/2005/05/xmlmime" is not generated
JAXB-858 - xjc generates no JAXBElement for nillable element with required attribute
JAXB-859 - Corrupt license file in the distribution
JAXB-867 - jax-ws / jax-b / glassfish 3.1.1 web services fail to send data from beans based on variable name.
JAXB-868 - Escape policy for quote (") is different when the serialization is performed to OutputStream or Writer
JAXB-869 - Multiple <any /> elements on a schema : second element is not loaded
- Marshalling Objects extending
JAXBElement linked by
JAXB-445 - Generated episode bindings should contain target package name
JAXB-499 - Umbrella issue for all XJC related encoding issues wrt xjc itself and maven plugins/ant tasks
JAXB-839 - More Schema Annotations/Documentation to Javadoc
- Redundant cast to
byte in code generated by XJCTask
JAXB-416 - Ant XJC task problems with spaces in paths
JAXB-450 - Reusing unmarshaller results in an unexpected result
- Unescaped javadoc in
JAXB-602 - Different unmarshalling behavior between primitive type and simpletype with enumeration under restriction
JAXB-618 - XJC generates certain code lines in a random order
- Problems with abstract classes and
JAXB-652 - JAXB 2.2 API should be changed to work with old 2.1 jaxb implementation in JDK
JAXB-696 - Incorrect implementation/documentation of javax.xml.bind.annotation.adapters.NormalizedStringAdapter
JAXB-726 - Missing keyword 'throw'
JAXB-761 - DatatypeConverterInterface.printDate inconsistencies
JAXB-774 - Extra slash in XSD location prevents customization
JAXB-803 - 2.2.2 strips schemaLocation in binding files
JAXB-804 - JAXB 2.x : How to override an XmlElement annotation from parent class - Mission Impossible?
JAXB-813 - Preserving white-space in XML (xs:string enumeration value) does not work
JAXB-815 - Binding file cannot refer to schema file with space in file name.
JAXB-816 - Incorrect System property to define the provider factory class
JAXB-821 - Global customization are not applied to xjc when input document is WSDL
JAXB-824 - API files in javax.xml.bind need to be updated for references to JLS with editions/hyperlinks
JAXB-826 - JAXB fails to unmarshal attributes as properties on aix
JAXB-268 - Map handling broken
JAXB-470 - Potential changes to make JAXB work better with OSGi
JAXB-478 - jaxb2-sources : Allow compilation under Java 6
JAXB-633 - JDefinedClass getMods()
JAXB-768 - Mailing list consolidation suggestions
JAXB-784 - JAnnotationUse should provide getters for clazz and memberValues properties
JAXB-406 - Allow setting of access modifiers in JMods
JAXB-769 - Update to command-line help text
JAXB-772 - Updates to XJC.html page and -Xpropertyaccessors plugin
JAXB-783 - I18N: xjc generates localized strings of AM/PM so compilation fails
JAXB-826 - JAXB fails to unmarshal attributes as properties on AIX
JAXB-805 - SpecJ performance regression
6975714 - JAXB 2.2 throws IAE for invalid Boolean values
JAXB-620 - Problems with abstract classes (xsi type processing)
Regression in Jersey JSON mapping
This minor-minor release contains only changes relevant to GlassFish OSGi environment
Minor licencing and legal fixes. No changes to source code.
Fixed documentation that incorrectly showed that JAXB RI is CDDL only (it's actually CDDL/GPLv2+classpath dual license)
JavaSE 6 release is expected to include this version of the JAXB RI (certainly as of build 102.)
More bug fixes
The simpler and better binding mode is improved
JAXB unofficial user's guide is available now, though it's still a work in progress
Java to schema samples are added
Added <xjc:javaType> vendor customization
Added experimental <xjc:simple> vendor customization, which brings in a new simpler and better binding mode
The spec has renamed
Various error handling improvements
Experimental canonicaliztion support is added.
The '-b' option can now take a directory and recursively search for all "*.xjb" files.
Fixed various issues regarding using JAXB from codef inside a restricted security sandbox.
Added more pluggability points for plugins to customize the code generation behavior.
Some of the code is split into a separate
project to promote more reuse among projects.
Made a few changes so that RetroTranslator can translate the JAXB RI (and its generated code) to run it on JDK 1.4 and earlier
Improved the quality of the generated code by removing unnecessary imports.
Other countless bug fixes
Map property can be now correctly bound to XML Schema
Default marshaller error handling behavior became draconian (previously errors were ignored.)
@link to a parameterized type is now correctly generated
started producing architecture document for those who want to build plugins or play with the RI internal.
XJC now uses the platform default proxy setting by default.
@XmlInlineBinaryData are implemented
@XmlJavaTypeAdapter on a class/package is implemented
Marshaller life-cycle events are implemented
Integration to FastInfoset is improved in terms of performance
XJC can generate
The unmarshaller is significantly rewritten for better performance
Added schemagen tool and its Ant task
Various improvements in error reporting during unmarshalling/marshalling
JAXB RI is now under CDDL
The default for
was changed to PUBLIC_MEMBER
Optimized binary data handling enabled by callbacks in package javax.xml.bind.attachment. Standards supported include MTOM/XOP and WS-I AP 1.0 ref:swaRef.
Unmarshal/marshal support of element defaulting
Improved the quality of the generated Java code
Fixed bugs in default value handling
Runtime performance improvements, memory usage improvements
Added support for <xjc:superInterface> vendor extension
Migrated source code to http://jaxb2-sources.dev.java.net
Published NetBeans project file for JAXB RI
Added more support to the schema generator: anonymous complex types, attribute refs, ID/IDREF, etc
support (not 100% done yet)
Implemented marshal-time validation
Improved xjc command line interface - better support for proxy options, more options for specifying schema files
Added schema-2-Java support for simple type substitution
Added support for the new
<jaxb:globalBindings localScoping="nested" | "toplevel">
customization which helps control deeply nested classes
Made the default
ValidationEventHandler more forgiving in 2.0 than it was in 1.0
(The class still behaves the same as it did when used by a 1.0 app)
Added wildcard support for DTD
Numerous other small changes and bugfixes....
Support for 100% W3C XML Schema (not all in EA, but planned for FCS)
Support for binding Java to XML
package for controling the binding from Java to XML
Significant reduction in the number of generated schema-derived classes
Per complex type definition, generate one value class instead of an interface and implementation class.
Per global element declaration, generate a factory method instead of generating a schema-derived interface and implementation class.
Replaced the validation capabilities in 1.0 with JAXP 1.3 validation API's
Smaller runtime libraries
Numerous other changes...