Создать маршаллер Jax2b свойство Formatted_Output не работает - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь создать Marshaller с Jax2b со свойством форматированного вывода:

protected static Marshaller createMarshaller() throws AMLParseException {
    final Jaxb2Marshaller marshaller = new Jaxb2Marshaller();   
    marshaller.setClassesToBeBound(CAEXFile.class);             
    final Map<String, Object> props = new HashMap<>();

    props.put(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT, true); //:TODO

    //marshaller.setJaxbContextProperties(props);

    return marshaller;
}

Если я установил JaxbContextProperties, он говорит: «Свойство« jaxb.formatted.output »не поддерживается»:

Caused by: javax.xml.bind.JAXBException: Eigenschaft "jaxb.formatted.output" wird nicht unterstützt.
    at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:118) ~[jaxb-runtime-2.3.2.jar:2.3.2]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[na:na]
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:251) ~[jakarta.xml.bind-api-2.3.2.jar:2.3.2]
    at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:240) ~[jakarta.xml.bind-api-2.3.2.jar:2.3.2]
    at javax.xml.bind.ContextFinder.find(ContextFinder.java:363) ~[jakarta.xml.bind-api-2.3.2.jar:2.3.2]
    at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:691) ~[jakarta.xml.bind-api-2.3.2.jar:2.3.2]
    at org.springframework.oxm.jaxb.Jaxb2Marshaller.createJaxbContextFromClasses(Jaxb2Marshaller.java:551) ~[spring-oxm-5.2.4.RELEASE.jar:5.2.4.RELEASE]
    at org.springframework.oxm.jaxb.Jaxb2Marshaller.getJaxbContext(Jaxb2Marshaller.java:503) ~[spring-oxm-5.2.4.RELEASE.jar:5.2.4.RELEASE]

Если я не устанавливаю свойство, он работает. Есть какие-нибудь подсказки, как это решить?

...