मेरे पास दर्जनों और दर्जनों .xsd
फ़ाइलें हैं जिन्हें मैं कोड को स्वतः उत्पन्न करना चाहता हूं। कुछ फाइलों में डुप्लिकेट नाम होते हैं जो एक ही समय में उन सभी को उत्पन्न करने का प्रयास करते समय संघर्ष करते हैं।क्या JAXB में एकाधिक .xsd फ़ाइलों में डुप्लिकेट तत्व परिभाषाओं से निपटने का कोई तरीका है?
मैं इन कामों में से 2 को पाने के लिए बस ध्यान केंद्रित कर रहा हूं।
जब मुझे इन 2 काम मिलते हैं तो मैं बाकी को ठीक कर दूंगा। लेकिन मैं अभी इन फ़ाइलों में से 2 पर ध्यान केंद्रित कर रहा हूं। मैं उनके नियंत्रण में नहीं हूं, वे एक विक्रेता से हैं और "मानक" का पालन करें, इसलिए उन्हें संपादित करने से कई कारणों से विकल्प नहीं है।
मैं इन फ़ाइलों को संसाधित करने के लिए maven-jaxb2-plugin
का उपयोग कर रहा हूं।
मैंने फ़ाइल को mat b
के उत्तर में दिए गए लिंक और वेब पर मिले अन्य निर्देशों में दिए गए अनुसार जोड़ा है। लेकिन मुझे निम्नलिखित त्रुटियां मिल रही हैं, कोई आउटपुट नहीं।
<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings version="2.1"
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xsi:schemaLocation=" http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd">
<jxb:bindings schemaLocation="mac-3.4.xsd">
<jxb:schemaBindings>
<jxb:package name="my.company.mac"/>
</jxb:schemaBindings>
</jxb:bindings>
<jxb:bindings schemaLocation="mac-stylesheet-3.4.xsd">
<jxb:schemaBindings>
<jxb:package name="my.company.stylesheet"/>
</jxb:schemaBindings>
</jxb:bindings>
</jxb:bindings>
निम्न त्रुटि देता है
[ERROR] Error while parsing schema(s).Location [ file:/C:/Users/Jarrod%20Roberson/Projects/spa-tools/spa-lib/src/main/sc
hema/mac-stylesheet-3.4.xsd{165,33}].
org.xml.sax.SAXParseException: 'halign' is already defined
अपमानजनक तत्व है:
<xsd:simpleType name="halign">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="left" />
<xsd:enumeration value="center" />
<xsd:enumeration value="right" />
</xsd:restriction>
</xsd:simpleType>
(वहाँ कई अन्य हैं यह सिर्फ पहले एक है कि संघर्ष है) और में से प्रत्येक में समान होता है .xsd
फाइलें, मैं इस डुप्लिकेशंस को केवल एक वर्ग उत्पन्न करने के साथ कैसे हल करूं या प्रत्येक को अपने पैकेज नामस्थान में जेनरेट किया जा रहा है?
यह एकमात्र डुप्लिकेट तत्व नहीं है जैसे कि उनमें से बहुत सारे हैं, इसलिए बस उन्हें फ़ाइलों से निकालने का प्रयास करना एक विकल्प नहीं है।
यह halign
कई .xsd
फाइलों में है और मैं या तो उन्हें अपनी व्यक्तिगत संकुल में डाल दिया, या पहले एक उत्पन्न हुए उस का उपयोग करने के संकलक बताने के लिए सक्षम होना चाहते हैं।
यह वह जगह है जहां मैंने बाहरी .xjb
फ़ाइल को को में निर्दिष्ट करके शुरू किया था।
डुप्लिकेट कॉन्फ़िगरेशन को अनदेखा करने के लिए बाध्यकारी को कॉन्फ़िगर कैसे करें, उन्हें संकुल को अलग करने के लिए मानचित्र करें या उन्हें मौजूदा कार्यान्वयन में मैप करें?
' 'होने पर समाप्त हुआ है, अब' maven-jaxb2-plugin: 2.2' में उपलब्ध नहीं है। –
OrangeDog