What would you recommend to resolve this? I am guessing there should only be one implementation on the classpath for each of javax.xml.bind and com.sun.xml.bind, no? In which case, it is similar to the situation with SLF4J, where libraries should not transitively impose a preference, right?
For now, I added com.sun.istack and com.sun.xml.bind and com.sun.xml.txw2 and javax.xml.bind to the list of allowed-to-be-duplicated class prefixes to ignore the problem, but I just wanted to give a heads up because this may cause unexpected behavior in downstream consumers when multiple sources of these classes are on the classpath.
Exception "javax.xml.bind.UnmarshalException: [org.xml.sax.SAXParseException; Premature end of file." can occur for various reasons. Its xml parser exception. Please ensure the entity xml generated correctly.
The content objects are instances of the classes produced by the binding compiler. In addition to providing a binding compiler, a JAXB implementation must provide runtime APIs for JAXB-related operations such as marshalling. The APIs are provided as part of a binding framework. The binding framework comprises three packages. The primary package, javax.xml.bind, contains classes and interfaces for performing operations such as unmarshalling, marshalling, and validation (marshalling and validation will be covered later). A second package, javax.xml.bind.util, contains a number of utility classes. The third package, javax.xml.bind.helper, is designed for JAXB implementation providers.