Ich brauche etwas Hilfe bitte! Ich versuche, Klassen von xsd in Java zu generieren (mit Eclipse) und ich weiß nicht, wie es geht, ich habe in vielen Tutorials gesucht, aber alle sprechen davon, zuerst die Klasse zu erstellen und dann das xsd zu verwenden. Ich möchte automatisch die Klassen von einem xsd mit Jaxb erstellen. hast du irgendwelche Vorschläge oder Tutorials, die mir bitte helfen können?Generiere Klassen von xsd in Java (Jaxb)
Antwort
Ich habe es geschafft! Ich werde meine Lösung zeigen, falls jemand das gleiche Problem hat. verwendet i Process bei einem Verfahren, um den Befehl von Java auszuführen:
public class FromXmlToJava implementiert Runnable {
privaten final Inputinput;
FromXmlToJava (InputStream inputStream)
{
this.inputStream = inputStream;
}
private BufferedReader getBufferedReader(InputStream is)
{
return new BufferedReader(new InputStreamReader(is));
}
public void run() {
BufferedReader br = getBufferedReader(inputStream);
String ligne = "";
try
{
while ((ligne = br.readLine())!= null)
{
System.out.println(ligne);
}
} catch (IOException e)
{
e.printStackTrace();
}
}
public static class Main {
// chemin de l'emplacement des classes generées
public static final String CHEMIN = "C:\\Users\\****";
public static void main(String[] args) {
try {
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C",
"C:\\Users\\***\\xjc.bat ***.xsd");
// modifier le repertoire d'execution de la commande
pb.directory(new File(CHEMIN));
/* Map env = pb.environment();
for (Entry entry : env.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
env.put("MonArg", "Valeur");
*/
Process p = pb.start();
FromXmlToJava fluxSortie = new FromXmlToJava(p.getInputStream());
FromXmlToJava fluxErreur = new FromXmlToJava(p.getErrorStream());
new Thread(fluxSortie).start();
new Thread(fluxErreur).start();
p.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Verwenden Sie den xjc
Befehl, der mit dem JDK kommt:
Kompiliert eine XML-Schema-Datei in vollständig kommentierten Java-Klassen.
Vielen Dank für Ihre Antwort, kann ich eine Anwendung erstellen, die es automatisch tun? Kennen Sie ein Tutorial, das mir helfen kann? Bitte –
Sie können die ausführbare Datei 'xjc' ausführen, oder Sie können sie direkt aufrufen, indem Sie' tools.jar' (aus dem JDK 'lib'-Ordner) zu Ihrem Klassenpfad hinzufügen und dann' com.sun.tools.internal.xjc.Driver aufrufen .main (String [] args) '. – Andreas
- 1. Wie generiere ich JaxB-Klassen mit java.util.Optional?
- 2. Präfixing JAXB generierte Klassen
- 3. jaxb xsd schemes wiederverwendung
- 4. Unterstützt JAXB xsd: restriction?
- 5. Erstellen von XSD mit Jaxb-Schema
- 6. JAXB: Verwenden Sie lokale SchemaLocation zum Generieren von Java-Klassen
- 7. Java JAXB XJC Code Generierung Formular XSD Schema Problem
- 8. JAXB Bindungen in eingebetteten XSD
- 9. Erstellen Sie Java-Klassen mit JaxB
- 10. Java JAXB und Vererbung
- 11. XSD-Dateien in Java generieren
- 12. Java zu XSD oder XSD zu Java
- 13. Does JAXB erfordern immer XSD
- 14. Generierte Klassen von JAXB sind nicht erkennbar
- 15. JAXB zum Erstellen einer Karte von XSD
- 16. JAXB Klassengenerierung mit importierten XSD und Bindung
- 17. Generieren von Java-Klassen aus XMLSchema.xsd mit JAXB
- 18. Generiere Java-Code von abhängigen XSDs
- 19. Clickatell SOAP WSDL zu JAXB Java-Klassen
- 20. Warum Frühjahr falsche Java-Klassen aus XSD
- 21. Generieren Ruby-Klassen von XSD
- 22. Generieren von Arrays für XSD-Sequenzen über JaxB JXC
- 23. Konvertieren von XSD-Schemas in Klassen
- 24. JAXB XJC-Codegenerierung - ObjectFactory-Klasse ist unvollständig
- 25. Wie generiert man @ XmlRootElement-Klassen für Basistypen in XSD?
- 26. JAXB xsd: enthalten und separate Pakete
- 27. Verwenden Sie JAXB (xjc) generierte Klassen in Android
- 28. Verweis auf eine externe Java-Klasse von xsd
- 29. Generieren von XSD-Schemas für .NET-Klassen
- 30. xsd: dateTime nach Java OffsetDateTime
Sie in mit einem Werkzeug XMLBeans genannt aussehen könnte. Es ist ein wenig alt und veraltet, aber für ein Studentenprojekt sollte es in Ordnung sein (eigentlich verwenden wir es in der Produktion, aber erzähl es niemandem). –
Vielen Dank für Ihre Antwort, aber es ist kein Studentenprojekt, es ist für meine Arbeit, ich muss eine Anwendung erstellen, die die eingegebenen XML-Dateien liest und ihren Inhalt in einer Datenbank speichert (deshalb muss ich jaxb verwenden, um Klassen zu erstellen die Xml) –