Проблема с созданием классов JAXB

Я пытаюсь использовать Eclipse для создания нескольких классов Java. Но почему-то я сталкиваюсь с проблемами. Когда я пытаюсь это сделать, я получаю такую ​​ошибку:

parsing a schema...
compiling a schema...
[ERROR] A class/interface with the same name "com.xml.apis.schemas.MPLSVPNListItem" is already in use. Use a class customization to resolve this conflict.
  line 9 of file:/C:/Workspace/MyFiles/WebContent/WEB-INF/XSDFiles/jaxb_binding.xml

[ERROR] (Relevant to above error) another "MPLSVPNListItem" is generated from here.
  line 3122 of file:/C:/Workspace/MyFiles/WebContent/WEB-INF/XSDFiles/APIcTypes.xsd

[ERROR] Two declarations cause a collision in the ObjectFactory class.
  line 9 of file:/C:/Workspace/MyFiles/WebContent/WEB-INF/XSDFiles/jaxb_binding.xml

[ERROR] (Related to above error) This is the other declaration.
  line 3122 of file:/C:/Workspace/MyFiles/WebContent/WEB-INF/XSDFiles/APIcTypes.xsd

Failed to produce code.

Я использую файл привязки JAXB (jaxb_binding.xml):

<?xml version = "1.0" encoding = "UTF-8"?>
<jxb:bindings xmlns:xs = "http://www.w3.org/2001/XMLSchema"
    xmlns:jxb = "http://java.sun.com/xml/ns/jaxb" version = "2.1">

    <jxb:bindings
        schemaLocation = "APIcTypes.xsd">
        <jxb:bindings
            node = "//xs:complexType[@name='MPLS-VPNListItem']">
            <jxb:class name = "MPLS_VPNListItem" />
        </jxb:bindings>
    </jxb:bindings>
    <jxb:bindings
        schemaLocation = "APIcTypes.xsd">
        <jxb:bindings
            node = "//xs:complexType[@name='MPLSVPNListItem']">
            <jxb:class name = "MPLSVPNListItem" />
        </jxb:bindings>
    </jxb:bindings>
</jxb:bindings>

Потому что я думаю, что эти два тега вызывают проблему.

Я должен сказать, что APIcTypes.xsd на самом деле является импортом в XSD, для которого я пытаюсь сгенерировать классы.

Структура включает в себя: API.xsd -> APIRequests.xsd -> APIcTypes.xsd -> APIsTypes.xsd.

Надеюсь, это понятно. Если вам нужна дополнительная информация, дайте мне знать. Просто не могу заставить его работать!

Ваш последний элемент <jxb:bindings> не нужен, так как MPLSVPNListItem должен быть именем сгенерированного по умолчанию класса. Попробуйте удалить эту привязку.

VGR 29.03.2018 23:41

В чем проблема? Не работают привязки?

lexicore 30.03.2018 08:26

Извините, просто забыл ответить, сброс второй привязки сработал.

hell_storm2004 03.04.2018 17:00
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
109
0

Другие вопросы по теме