2012-11-01 14 views
22

मैं JAXB और XJC उपयोग कर रहा हूँ पहली बार के लिए पैदा करते हैं।JAXB, XJC -> एकाधिक वर्ग फ़ाइलों

मैं XML फ़ाइल से जावा वर्गों उत्पन्न करने के लिए तो मैं this online helper का उपयोग XML फ़ाइल से स्कीमा उत्पन्न करने के लिए करना चाहते हैं।

उसके बाद मैं सिर्फ जावा वर्गों उत्पन्न करने के लिए इस आदेश पंक्ति का उपयोग करें:

xjc myschema.xsd 

यह काम है, लेकिन मैं इसे अंदर केवल एक जावा फ़ाइल और कई स्थिर कक्षाओं प्राप्त करते हैं। इस में कई जावा फ़ाइलों को फ़ाइल में केवल एक classe शामिल कृपया उत्पन्न करने के लिए संभव है?

धन्यवाद

उत्तर

37

डिफ़ॉल्ट JAXB (JSR-222) तक नेस्टेड जटिल वर्ग के नाम संघर्ष को रोकने के लिए प्रकार के लिए स्थिर इनर क्लासों का निर्माण करेगा। आप किसी बाहरी बंधन फ़ाइल का उपयोग इस व्यवहार को निष्क्रिय कर सकते हैं।

binding.xml

एक बाध्यकारी फ़ाइल आप अनुकूलित करने के लिए कैसे जावा वर्गों एक XML स्कीमा से उत्पन्न होते हैं अनुमति देता है।

<jaxb:bindings 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
    version="2.1"> 
    <jaxb:globalBindings localScoping="toplevel"/> 
</jaxb:bindings> 

XJC कॉल

-b विकल्प एक बाध्यकारी फ़ाइल निर्दिष्ट करने के लिए XJC कमांड के साथ प्रयोग किया जाता है।

xjc -b binding.xml myschema.xsd 

अधिक जानकारी के लिए

+1

बहुत धन्यवाद, मैं इसे जितनी जल्दी हो सके परीक्षण –