我的解决方案必须包含一些J2EE库,因为独立的JDK 6无法访问xjc实用程序类:
import com.sun.premodel.*;import com.sun.tools.xjc.api.*;import org.xml.sax.InputSource;// Configure sources & outputString schemaPath = "path/to/schema.xsd";String outputDirectory = "schema/output/source/";// Setup schema compilerSchemaCompiler sc = XJC.createSchemaCompiler();sc.forcePackageName("com.xyz.schema.generated");// Setup SAX InputSourceFile schemaFile = new File(schemaPath);InputSource is = new InputSource(new FileInputStream(schemaFile));is.setSystemId(schemaFile.getAbsolutePath());// Parse & buildsc.parseSchema(is);S2JJAXBModel model = sc.bind();JCodeModel jCodeModel = model.generateCode(null, null);jCodeModel.build(new File(outputDirectory));- .java源代码将放置在 outputDirectory中



