मैं काम के समाधान के लिए मेरे समाधान के लिए कुछ जे 2 ईई पुस्तकालयों को शामिल करना पड़ा क्योंकि स्टैंडअलोन जेडीके 6 xjc उपयोगिता कक्षाओं तक कोई पहुंच प्रदान नहीं करता है:
import com.sun.codemodel.*;
import com.sun.tools.xjc.api.*;
import org.xml.sax.InputSource;
// Configure sources & output
String schemaPath = "path/to/schema.xsd";
String outputDirectory = "schema/output/source/";
// Setup schema compiler
SchemaCompiler sc = XJC.createSchemaCompiler();
sc.forcePackageName("com.xyz.schema.generated");
// Setup SAX InputSource
File schemaFile = new File(schemaPath);
InputSource is = new InputSource(new FileInputStream(schemaFile));
is.setSystemId(schemaFile.getAbsolutePath());
// Parse & build
sc.parseSchema(is);
S2JJAXBModel model = sc.bind();
JCodeModel jCodeModel = model.generateCode(null, null);
jCodeModel.build(new File(outputDirectory));
* जावा सूत्रों outputDirectory
मुझे पार्सशेमा के दौरान अपवाद था: 'java.lang.IllegalArgumentException: सिस्टम आईडी' सी: \ उपयोगकर्ता \ Federico \ दस्तावेज़ \ NetBeansProjects \ Wadl2Java \ myxsd.xsd 'पूर्ण नहीं है' क्या आप कृपया मदद कर सकते हैं? –
स्थानीय फ़ाइलों के लिए मैंने निरपेक्ष पथों का उपयोग करके हल किया और सिस्टम आईडी को 'is.setSystemId (schemaFile.toURI()। ToString() के रूप में सेट किया है। –
@Uccio, क्षमा करें, छुट्टी पर था, खुशी है कि आपने इस मुद्दे को हल किया है। – Osw