Jaxb-Maven-Plugin XSD an Java: Wie man XSD mit Root-Element und untergeordnetem Element mit demselben Namen löst
Posted: 19 May 2025, 06:59
Ich habe eine ähnliche Struktur wie diese xsd: < /p>
Ich bin mir nicht sicher, was dort wirklich passiert.
Gibt es eine Möglichkeit, dieses Problem zu lösen?
Code: Select all
< /code>
Meiner Meinung nach ist dies ein schlechtes Schema. Sie sollten Ihre Elemente auf diese Weise nicht benennen. Offensichtlich klappt diese nicht aus dem Box.@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"address",
"mailbox"
})
public static class Address implements Serializable, Cloneable, CopyTo, Equals, HashCode, MergeFrom, ToString
{
Address.Address address;
Address.Mailbox mailbox;
public static class Address implements Serializable, Cloneable, CopyTo, Equals, HashCode, MergeFrom, ToString
{
// ...
}
public static class Mailbox implements Serializable, Cloneable, CopyTo, Equals, HashCode, MergeFrom, ToString
{
// ...
}
}
< /code>
Natürlich führt dies in der Java -Fehler -Duplikatklasse: "Adresse". Also habe ich es versucht: < /p>
org.jvnet.jaxb
jaxb-maven-plugin
4.0.9
generate
true
-Xequals
-XhashCode
-XtoString
-Xfluent-api
-Xinheritance
-Xcopyable
-Xmergeable
-XautoNameResolution
false
true
src/main/resources/xsd
src/main/resources/xjb
src/main/resources/xsd/external/catalog.cat
${project.build.directory}/generated-sources
org.jvnet.jaxb
jaxb-plugins
4.0.9
org.jvnet.jaxb
jaxb-plugins-tools
4.0.9
< /code>
Aber das hat die Java -Klasse -Generation überhaupt nicht geändert.
Ich habe den Bindungsansatz ausprobiert. Ich habe Folgendes gemacht: < /p>
< /code>
Dies führt jedoch zu: Ausführungsverlust von Ziel org.jvnet.jaxb: jaxb-maven-plugin: 4.0.0: generieren fehlgeschlagen: illegale Erbschaftsschleife für Klassen. Die Adresse der äußeren Klassen kann nicht unter der Innenklasse unterklagen: Adresse
Gibt es eine Möglichkeit, dieses Problem zu lösen?