Получение исключения JAXB типа "Два класса имеют одинаковое имя типа XML...",
Вот сведения об исключении:
Исключение в потоке "main" com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions Два класса имеют один и тот же XML введите название "город". Используйте @XmlType.name и @XmlType.namespace, чтобы назначить разные имена им. эта проблема связана с следующим месторасположение: at com.model.City at public com.model.City com.model.Address.getCurrentCity() в com.model.Address this проблема связана со следующим местоположением: на com.common.City at public com.common.City com.model.Address.getPreviousCity() at com.model.Address
в com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException $Builder.check(Неизвестно Источник) в com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(Неизвестно Источник) в com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl(Неизвестно. Источник) в com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl $JAXBContextBuilder.build(Неизвестно Источник) в com.sun.xml.internal.bind.v2.ContextFactory.createContext(Неизвестно Источник) в com.sun.xml.internal.bind.v2.ContextFactory.createContext(Неизвестно Источник) на sun.reflect.NativeMethodAccessorImpl.invoke0 (Родной Метод) на sun.reflect.NativeMethodAccessorImpl.invoke(Неизвестно Источник) на sun.reflect.DelegatingMethodAccessorImpl.invoke(Неизвестно Источник) в java.lang.reflect.Method.invoke(Неизвестный источник) в javax.xml.bind.ContextFinder.newInstance(Неизвестный источник) в javax.xml.bind.ContextFinder.find(Неизвестный источник) в javax.xml.bind.JAXBContext.newInstance(Неизвестный источник) в javax.xml.bind.JAXBContext.newInstance(Неизвестный источник) в com.PojoToXSD.main(PojoToXSD.java:17)
Я взял пример:
package **com.model**; ---->this package contains 'Address' class and 'City' class
public class Address {
private String areaName;
private City currentCity;
private com.common.City previousCity;
}
package com.model;
public class City {
private String cityName;
}
Еще один класс города в пакете com.common.
package **com.common**;
public class City {
private String pinCode;
}
Нам нужно создать XSD и сделать Marshalling и unmarshalling с существующим кодом в нашем проекте (например, как приведенный выше примерный код), код не содержит никаких аннотаций, таких как "@XmlRootElement/@XmlType", и мы не можем для изменения исходного кода.
Я хотел бы знать, есть ли какое-либо решение, чтобы устранить вышеупомянутую проблему или какие-либо другие способы создания XSD и маршалинга /unmarshalling (например, MOXy..etc)?
Было бы здорово, если бы я смог получить решение от любого... Может заранее спасибо.
Спасибо,
Satya.