how can i add binding.xml to Dynamically generated java sources (without xjc) -
मेरा कोड है:
import com.sun.codemodel.JCodeModel; आयात कॉम.sun.tools.xjc.api.S2JJAXBModel; आयात com.sun.tools.xjc.api.SchemaCompiler; आयात com.sun.tools.xjc.api.XJC; सार्वजनिक वर्ग JAXCodeGen {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) IOException फेंकता {स्ट्रिंग आउटपुट डायरेक्टरी = "डी: / src /"; // सेटअप स्कीमा संकलक SchemaCompiler sc = XJC.createSchemaCompiler (); sc.forcePackageName ( "com.xyz.schema"); // सेटअप सैक्स इनपुट स्रोत फ़ाइल स्कीमाफ़ाइल = नया फ़ाइल ("Item.xsd"); इनपुट स्रोत = नया इनपुट स्रोत (स्कीमाफ़ाइल.ओयूआरआई ()। ToString ()); // is.setSystemId (schemaFile.getAbsolutePath ()); // पार्स एंड amp; निर्माण sc.parseSchema (है); S2JJAXB मॉडल मॉडल = sc.bind (); JCodeModel jCodeModel = मॉडल.generateCode (रिक्त, शून्य); JCodeModel.build (नई फ़ाइल (आउटपुट डायरेक्टरी)); }}
और मेरा प्रश्न है कि मैं कैसे कोड के माध्यम से बाध्यकारी.एक्सएमएल जोड़ सकता हूं ???
यह सब मुझे लगता है जैसे कि आप बस जावा प्रोग्राम से एक्सजे को खोलने की कोशिश कर रहे थे (क्यों नहीं कमांड लाइन या मैवेन, या ... ???)
हालांकि, जो भी सिस्टम आप पर हैं, आप जावा से XJC को प्रोसेसबिइल्डर का उपयोग कर सकते हैं, जहां आप सभी आवश्यक पैरामीटर निर्दिष्ट कर सकते हैं
वैकल्पिक रूप से, आप एक्सएमएल स्कीमा फ़ाइल में सभी बाध्यकारी चश्मा सम्मिलित कर सकते हैं।
बाद में
चेतावनी: जीएसओसी के भविष्य के रिलीज के साथ स्थिर रहने के लिए गेओटिशन की गारंटी नहीं है लेकिन इसमें कोई अन्य तरीका नहीं है। Com.sun.tools.xjc.api वास्तव में अनुप्रयोगों में उपयोग करने के लिए नहीं है।
SchemaCompiler sc = ...; फ़ाइल बाइंडिंग = नया फ़ाइल (...); Sc.getOptions ()। AddBindFile (बाइंडिंग);
आप कमांड लाइन पार्सर भी उपयोग कर सकते हैं, जो चीजों को आसान बना सकता है यदि आपके पास कई विकल्प हैं।
स्ट्रिंग [] args = ...; // विकल्प और मापदंडों के रूप में वे कमांड लाइन int = 0 पर दिखाई देते हैं; जबकि (किया & lt; args.length) {int eaten = 0; {Eaten = sc.getOptions () की कोशिश करें। ParseArgument (args, done); } पकड़ (com.sun.tools.xjc.BadCommandLineException bcle) {// अपवाद को संभाल लें} अंत में {किया + = खाया; } यदि (खाया == 0) तोड़; // मान्यता प्राप्त नहीं है, जारी नहीं रह सकता, abort}
Comments
Post a Comment