che cos’è un file .episode in JAXB ..? Viene generato da JAXB o è un file di configurazione che manipoliamo per evitare la rigenerazione delle stesse classi da parte di JAXB ..?
Nota: sono il capo EclipseLink JAXB (MOXy) e un membro del gruppo di esperti JAXB 2 (JSR-222) .
Un file .episode viene generato dal compilatore XJC (XML Schema to Java). È un collegamento di schemi che associa i tipi di schema alle classi esistenti. È utile quando si ha uno schema XML che viene importato da altri schemi poiché impedisce la rigenerazione del modello. Di seguito è riportato un esempio:
Product.xsd
Poiché più schemi XML importano Product.xsd, possiamo sfruttare i file episodi in modo che le classi corrispondenti a Product.xsd vengano generate una sola volta.
xjc -d out -episode product.episode Product.xsd
ProductPurchaseRequest.xsd
Di seguito è riportato un esempio di uno schema XML che importa Product.xsd:
Quando generiamo classi da questo schema XML faremo riferimento al file episodio che abbiamo creato quando abbiamo generato classi Java da Product.xsd.
xjc -d out ProductPurchaseRequest.xsd -extension -b product.episode
ProductQuoteRequest.xsd
Di seguito è riportato un altro esempio di uno schema XML che importa Product.xsd:
Ancora una volta quando generiamo le classi da questo schema XML faremo riferimento al file episodio che abbiamo creato quando abbiamo generato classi Java da Product.xsd.
xjc -d out ProductQuoteRequest.xsd -extension -b product.episode
Per maggiori informazioni
Aggiungerò qualche curiosità.
.episode
sono solo normali file di binding (è per questo che funzionano con xjc -b
). -episode
). META-INF/sun-jaxb.episode
, è ansible eseguire xjc b.xsd a.jar
– XJC analizzerà i file JAR per i file degli episodi, quindi userà automaticamente i file di rilegatura. Apparentemente, sono per la creazione di schemi modulari .
Ciò implica che i file stessi possono essere utilizzati sia come configuratore sia come vista generativa di un livello dati per l’elaborazione downstream. Sarebbe necessario un ulteriore contesto per determinare a quale object si fa riferimento qui.
Solo un addon alla risposta, vorrei fornire un input su come evitare di avere il file .episode generato durante l’utilizzo di maven-jaxb2-plugin
` org.jvnet.jaxb2.maven2 maven-jaxb2-plugin 0.12.3 schema-conversion generate src/main/schema/myschema src/main/schema/myschema binding_info.xjb src/main/java/ false `
lo farà sparire.