Obtenir l'exception JAXB comme "Deux classes ont le même nom de type XML ..."

Obtenir le JAXB exception comme "Deux classes ont le même type XML nom...",

Voici les détails de l'exception:

Exception in thread "main"
com.soleil.xml.interne.bind.v2.moment de l'exécution.IllegalAnnotationsException: 1
comtes de IllegalAnnotationExceptions Deux classes ont le même XML
tapez le nom de "ville". Utiliser @XmlType.nom et @XmlType.espace de noms
à attribuer
des noms différents. ce problème est lié à la suivante
localisation: au com.de modèle.La ville de public com.de modèle.Ville
com.de modèle.Adresse.getCurrentCity() at com.de modèle.Adresse de cette
problème est lié à l'emplacement suivant: au com.commun.Ville
au public com.commun.Ville com.de modèle.Adresse.getPreviousCity() à
com.de modèle.Adresse

à
com.soleil.xml.interne.bind.v2.moment de l'exécution.IllegalAnnotationsException$Builder.vérifier(Inconnu
Source)
com.soleil.xml.interne.bind.v2.moment de l'exécution.JAXBContextImpl.getTypeInfoSet(Inconnu
Source)
com.soleil.xml.interne.bind.v2.moment de l'exécution.JAXBContextImpl.(Inconnu
Source)
com.soleil.xml.interne.bind.v2.moment de l'exécution.JAXBContextImpl$JAXBContextBuilder.construire(Inconnu
Source)
com.soleil.xml.interne.bind.v2.ContextFactory.createContext(Inconnu
Source)
com.soleil.xml.interne.bind.v2.ContextFactory.createContext(Inconnu
Source) au soleil.de réfléchir.NativeMethodAccessorImpl.invoke0(Native
Method) at sun.de réfléchir.NativeMethodAccessorImpl.invoke(Inconnu
Source) au soleil.de réfléchir.DelegatingMethodAccessorImpl.invoke(Inconnu
Source) at java.lang.de réfléchir.La méthode.invoke(Source Inconnue)
javax.xml.bind.ContextFinder.newInstance(Source Inconnue)
javax.xml.bind.ContextFinder.trouver(Source Inconnue)
javax.xml.bind.JAXBContext.newInstance(Source Inconnue)
javax.xml.bind.JAXBContext.newInstance(Source Inconnue)
com.PojoToXSD.principale(PojoToXSD.java:17)

J'ai pris l'exemple comme:

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;
}

Une autre ville de la classe en "com.commun".

package **com.common**;

public class City {

    private String pinCode;
}

Nous avons besoin de créer XSDs et a besoin de faire le Triage et unmarshalling avec le code existant dans notre projet(comme ci-dessus un exemple de code), le code n'a pas toutes les annotations comme "@XmlRootElement/@XmlType" et nous ne pouvons pas en mesure de modifier le code source.

Je voudrais savoir, c'est qu'il ya une solution pour résoudre le problème ci-dessus, ou toutes les autres façons de créer des XSDs et des gares/unmarshalling(comme MOXy, etc...)?

Ce serait génial si je peux obtenir la solution de l'un quelconque de....Peut merci d'avance.

Merci,

Satya.

source d'informationauteur Satya