Я пытаюсь использовать 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должен быть именем сгенерированного по умолчанию класса. Попробуйте удалить эту привязку.