Description
Overview
As explained in commit a247b83, the XppDriver
from XStream relies on the XPP3 library which publishes javax.xml.namespace.QName
as part of its JAR. The QName
type is also published by the java.xml
system module in modular JREs (i.e., Java 9 or higher).
This results in a split package between the unnamed
module and the java.xml
system module, which the Java Language Specification defines as illegal (see §6.5.5.2 and §7.4.3).
Most Java compilers do not currently enforce this rule; however, the Eclipse compiler does. This makes it impossible to use spring-oxm
out-of-the-box in the Eclipse IDE. In addition, if bug JDK-8215739 is fixed in a future version of OpenJDK, this rule will affect all users of spring-oxm
.
In light of that, the team has decided to switch the default driver in XStreamMarshaller
from XppDriver
to DomDriver
. Users can naturally switch back to the XppDriver
if they wish, since the defaultDriver
is configurable.
Deliverables
- Change default driver in
XStreamMarshaller
fromXppDriver
toDomDriver
. - Revert related changes in a247b83.