ben tek başına J2EE kitaplıkları benim çözüm için tek başına JDK 6 xjc yardımcı program sınıflarına erişim sağlamadığı için dahil etmek zorunda kaldı:
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));
* .java kaynaklar JAXB referans uygulamasını here alın outputDirectory
parseSchema sırasında bir kural dışı durum oluştu: java.lang.IllegalArgumentException: sistem kimliği 'C: \ Users \ Federico \ Documents \ NetBeansProjects \ Wadl2Java \ myxsd.xsd 'mutlak değil' Yardımcı olabilir misiniz? –
Yerel dosyalar için mutlak yollar kullanarak çözüldüm ve sistem kimliğini 'is.setSystemId (schemaFile.toURI(). ToString())' –
@Uccio olarak ayarlıyorum, üzgünüm, bu sorunu çözdüğünüze memnun oldum. – Osw