У меня есть 2 класса в формате .xsd с одинаковыми именами.
Даже при том, что каждый из них находится под различным пространством имен:
Когда я пытаюсь слишком инициализировать JAXBContext, я получаю:
Два класса имеют одинаковое имя типа XML «picture». Используйте @ XmlType.name и @ XmlType.namespace, чтобы назначать им разные имена.
Информация: Запуск на java 11. и генерация классов с помощью xjc.
Ранее это работало на Java 8
<xs:schema targetNamespace="http://test.com/bla/blabla/blablabla/sd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="picture">
<xs:schema targetNamespace="http://test.com/bla/blabla/blablabla/hd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="picture">
И оба сгенерированных класса выглядят так:
@ XmlRootElement (name = "picutre")
общедоступный класс Изображение {}
Я инициализирую JAXBContext:
private static JAXBContext initializeJaxbContext() {
JAXBContext jaxbctx = JAXBContext.newInstance(com.test.bla.blabla.blablabla.hd.Picture.class,com.test.bla.blabla.blablabla.sd.Picture.class);
Почему я получаю эту ошибку?
Два класса имеют одинаковое имя типа XML. Используйте @ XmlType.name и @ XmlType.namespace для присвоения им разных имен
Кто-нибудь может помочь?