Quote Originariamente inviata da andbin Visualizza il messaggio
Ma fare quello che hai chiesto richiederebbe molto di più che 3 minuti e molto, molto più codice rispetto a cambiare poi solo poche cose nei tuoi progetti!!.
Si questo è vero, ma lo faccio una sola volta e poi andrà bene per sempre.
Quindi potrebbe convenirmi vista la quantità di volte che faccio quella operazione.
Mi conviene sicuramente nel momento in cui adopero questa cosa come esercizio.
Ad ogni modo, ho risolto facendo in questo modo:
Codice PHP:
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));

        
// Parse & build
        
sc.parseSchema(is);
        
S2JJAXBModel model sc.bind();
        
JCodeModel jCodeModel model.generateCode(nullnull);
        
jCodeModel.build(new File(outputDirectory));