Java-Imports bei Jaxb

Status
Nicht offen für weitere Antworten.

Chuqa

Aktives Mitglied
Hallo allerseits,

ich beiß mir schon seit ein paar Tagen die Zähne aus. Wir haben in unserem Projekt XSD-Schema-Dateien, die die Objektstruktur im Programm abbilden. Mithilfe von Jaxme werden diese Schema-Dateien in Parselets, also die eigentlichen Objekte umgesetzt. Nun hat sich die Struktur des Schemas etwas verändert (mehr verschachtelt), sodass mehrere neue Objekte jetzt hinzugekommen sind. Beim Erstellen und Befüllen der Objekte müssen nun natürlich auch die neuen Objekte befüllt werden. Das geschieht auch, aber die neuen Objekte können keinem Typ zugeordnet werden, da das Import-Statement für die Klasse fehlt. Werden die irgendwo fest definiert, denn Einige (die auch vorher schon da waren) stehen in jedem der Parselets? kann mir jemand helfen, zumindestens wo ich suchen muss?

Gruss chuqa
 

Chuqa

Aktives Mitglied
Versteh nicht ganz, was du meinst. Das Ganze läuft über einen ANT-Task, der aus der Schema-Datei die Parselets, also die Fachobjekte generiert.
 

Chuqa

Aktives Mitglied
Ok, hab mir das nochmal etwas intensiver angeschaut und nicht ganz richtig erklärt. Es sind 2 Sachen die da passieren. Also, dass was da generiert werden soll ist einmal eine Klasse, die dann meine entsprechenden Daten enthält und dann wird außerdem noch das Parsen von Daten aus einem Byte-Array und in ein Byte-Array generiert.
Das Generieren der Klasse mit all seinen entsprechenden Attributen, die unter Umständen auch wieder Klassen sind, klappt wunderbar.
Das Problem ist das Generieren der Klassen, die das Parsen übernehmen - die Parselets. Dort werden natürlich die einzelnen Attribute meines Objektes gefüllt. Es gibt für jeden Datentype, der durch das Schema entsteht dann ein Parselet. Die Parselets müssen natürlich dann den entsprechenden Datentyp importieren, auf denen sie die daten aus dem Byte-Array parsen wollen. Das passiert aber nur bei den Typen, die bereits vor dem Ausbau der Schema-Dateien bestanden haben. Die Typen, die nun neu dazugekommen sind, werden nicht importiert. Vielleicht dazu folgendes Beispiel. Angenommen die alte XSD hatte folgenden Aufbau:
Code:
...
<xs:element name="Person" type="PersonType">
</xs:element>
<xs:complexType name="PersonType">
  <xs:sequence>
    <xs:element name="Familienname"></xs:element>
    <xs:element name="Vorname"></xs:element>
  </xs:sequence>
</xs:complexType>
Dann wird mir ein ClsPerson.java raus generiert, die dann entsprechend die Daten der Person (Familienname und Vorname) enthält (z.B. als Strings). Für das Parsen aus dem Array würde dann noch eine ClsPersonParselet.java generiert, die eine Funktion "parse" besitzt. Diese Funktion legt zuerst ein Objekt vom Typ ClsPerson an und parst dann entprechend Familienname und Vorname aus dem Byte-Array auf das Objekt.
Angenommen ich würde das Schema nun wie folgt ausbauen:
Code:
...
<xs:element name="Person" type="PersonType">
</xs:element>
<xs:complexType name="PersonType">
  <xs:sequence>
    <xs:element name="Namen">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="Familienname"></xs:element>
          <xs:element name="Geburtsname"></xs:element>
          <xs:element name="Vorname"></xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
</xs:complexType>
Dann werden mir 2 Klassen generiert, nämlich ClsPerson.java und ClsNamen.java. ClsNamen ist dann Bestandteil von ClsPerson. Ebenso werden mir 2 Parselets generiert: ClsPersonParselet.java und ClsNamenParselet.java. In der parse-methode von ClsPersonParselet wird dann die parse-Methode von ClsNamenParselet aufgerufen, indem ein neu-erstellten Objekt von ClsNamen mit übergeben wird. Allerdings wird ClsNamen nicht in ClsPerson importiert, sodass das Objekt keinem Typ zugeordnet werden kann. Ebenso verhält es sich in ClsNamenParselet, indem versucht wird, dass übergebene Objekt in ClsNamen zu konvertieren. das scheitert allerdings, weil wiederum ClsNamen nicht bei den import-Statements steht. Ich weiß nur nicht, wo ich angeben muss, welche Objekte er bei den Parselets importieren muss.
 

Chuqa

Aktives Mitglied
So also ich denke ich habe das Problem gefunden. Die Parselets und damit die Parser werden von uns generiert und dort werden auch die Imports organisiert. Es gibt zwar noch ein Problem, dass er die neuen Typen nicht auflösen kann und ich weiß nicht wieso, denn die alten Typen kann er entsprechend erreichen, aber ich hoffe das wird sich auch bald erledigen. Danke an alle, die vielleicht doch versucht haben, irgendwie dahinter zu steigen ;)
 

Chuqa

Aktives Mitglied
Die alten Klassen werden gelöscht. Durch den ANT-Task wird vor dem erstellen der neuen Klassen noch ein Clean auf das entsprechende Verzeichnis aufgerufen.
Das Problem mit dem auflösen der neuen Typen habe ich momentan auch gelöst, aber weiß nicht woran es lag. Hab die neuen Schemadateien und die Änderungen vom Parser eingecheckt und das komplette Projekt neu ausgecheckt und dann die ANT-Task einzeln über eclipse gestartet, dann hat das zumindestens mal funktioniert. Läuft zwar immernoch nicht 100%ig, aber ich denke das wird schon noch ;-).
Danke nochmal für deine Hilfe.
 

Noctarius

Top Contributor
Noch ein Tipp wenn ANT nicht erzwungen ist, überleg mal nach Maven zu wechseln. Solche Dinge gehen aus meiner Sicht damit um Längen einfacher :)
 

Chuqa

Aktives Mitglied
Ja naja maven kommt schon zum Einsatz, aber das Projekt ist eher historisch gewachsen. Die meisten build-Prozesse sind eben noch mit ant umgesetzt. Nur bei wenigen kommt bisher maven zum Einsatz. Dafür werden neue Projekte mit maven umgesetzt. Vielleicht lassen sich die Prozesse ja nach und nach umstellen, aber das liegt nicht in meiner Hand ;).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W jaxws jaxb wsdl Java-Klassen generieren und binding.xml verwenden XML & JSON 1
iman XML Attribute mit JAVA einlesen mit Spring Batch XML & JSON 0
T Tags in XML Datei mit Java erstellen XML & JSON 3
E JAXB und java.nio.file.Path XML & JSON 4
B XML-Daten mit SAX Parser verarbeiten in Java XML & JSON 4
S Java REST Client + Json XML & JSON 8
L Lässt sich folgendes so oder so ähnlich mit Java und XML umsetzen XML & JSON 3
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
L login - Java IOException jaas.config File or Directory not present XML & JSON 1
M Text eines Elements in XML Datei mit JAVA bearbeiten und kompletten Element-Zweig hinzufügen XML & JSON 16
J JSON zu Java mit der GSON Google API XML & JSON 0
B JAXB - java.util.Locale does not have a no-arg default constructor XML & JSON 2
E JAVA simple.JSONObject cannot be cast to simple.JSONArray XML & JSON 9
P Einheiten in Java XML & JSON 4
T Visualisierung von XML Dateien in einer Java SwingGui XML & JSON 11
A WSDL und Java XML & JSON 5
A XMLRPC für Java XML & JSON 3
S XML auf Java Klassen Mappen XML & JSON 10
N Java XML schreiben funktioniert nicht XML & JSON 1
B aus xsd Java Klassen generieren XML & JSON 3
MiMa Mehrfachvariablen in Java durch XML XML & JSON 4
Q XML-File als Objekt in Java XML & JSON 6
Q Konvertierung von json zum Java Objekt nach vorgegebenem Schema XML & JSON 3
AMStyles XPATH Befehl SVG Java XML & JSON 2
S Wie aktualisiert man den Java-Kode mit FOP1.0? XML & JSON 1
L XSL: Aufruf Java-class XML & JSON 11
N Java Code aus XML Datei generieren XML & JSON 8
GUI-Programmer java.io.File aus .jar beziehen XML & JSON 6
A Unterschiedliche Datenstruktur XML <-> Java mappen XML & JSON 9
R XSD aus Java Klassen erzeugen?? XML & JSON 2
N xsd pattern in java einlesen XML & JSON 6
M java.lang.RuntimeException: Failed to parse document XML & JSON 4
F SOAP in Java XML & JSON 6
Q Atom/RSS-Feed lesen - per XSD zu Java-Code XML & JSON 4
S JAXB 2 und Java Annotationen/Interfaces generieren XML & JSON 3
N Google Wetter XML (nur current_condition) auslesen mit Java XML & JSON 15
F Einlesen von JDBC connection in Java von XML XML & JSON 4
D xsd->java mit Eclipse?! oder wie? XML & JSON 27
M Probleme mit XPath bei Java XML & JSON 5
_dp Java XML Parse error: findet end-tags nicht XML & JSON 10
V JAXB schema 2 java XML & JSON 3
S XJC --> Java-Objects compile Problem XML & JSON 4
G Mit JSON Java und C# verbinden XML & JSON 4
K XML Datei in ein Java package „einbinden" XML & JSON 3
H Java - XML - Rekursion - Verwirrung XML & JSON 6
F XML Datei in Java einlesen XML & JSON 4
J XSD > XML > Java XML & JSON 7
F XML mit Java XML & JSON 2
algorismi SVG Datein mit Batik in Java reinladen XML & JSON 3
S Java - Klassen erzeugen aus xsd bzw. wsdl XML & JSON 3
D ID's aus XML Datei rauslesen und in Java ausgeben XML & JSON 7
N value Wert einer XML Datei mit JAVA bearbeiten XML & JSON 21
Mike90 -xlsx Dateien in Java lesen XML & JSON 3
T StAX / SAX => Wie XML Datenstruktur in Java abbilden? XML & JSON 2
H XML plattformunabhängig/Open Source für Java XML & JSON 4
slawaweis Problem mit XSLT (wahrscheinlich ein Bug in Java 6) XML & JSON 16
Fadi .classpath(XML) mit Java lesen XML & JSON 2
M Frage zu Erklärung im Online book "Java ist auch eine I XML & JSON 4
M Problem mit FOP in Java Programm XML & JSON 2
H Fop / Java /Fonts XML & JSON 6
H XSL Aufruf via Java mit neuen Fonts XML & JSON 9
T Java Klasse für gegebenes XML erstellen XML & JSON 4
M Xlink in Java-Objekt umwandeln XML & JSON 9
S Jdom+java webstart XML & JSON 4
P Einstieg in XML mit Java XML & JSON 3
G MS-Word Dokument mit Java erstellen XML & JSON 2
N AXIOM mit Java 1.4 XML & JSON 4
J DTD in Java integrieren? XML & JSON 3
L XML Datei in Java angeben Pfad? XML & JSON 3
G Problem mit XML-Schema Validierung mit Java XML & JSON 12
G XML mit JAVA an URL senden (http post) XML & JSON 12
D Java DOM Ausgabe ohne XML header XML & JSON 4
S XML Strings in JAVA einlesen, aber wie? XML & JSON 8
S Java 6 und Xerces-j-2-9 XML & JSON 3
E XML mit java einlesn XML & JSON 2
L mit Java eine HTML-Datei erstellen XML & JSON 3
O OpenDocument-Tabelle mit Java lesen und schreiben XML & JSON 3
G JAVA und DOM XML & JSON 2
M Java und XSLT: Performanz-Problem XML & JSON 5
P DTD -> Java XML & JSON 4
K xml --> sax --> java objekthierarchie XML & JSON 2
B DTD aus Java erzeugen XML & JSON 2
S JAVA XML Parser der einen String parst XML & JSON 3
K java + xpath -> performanceproblem XML & JSON 9
J schema-Validierung mit xerces und jdom: bug in java 1.4? XML & JSON 9
A Kann XML weitere XMLs inkludieren? Oder kann es Java? XML & JSON 5
vogella *Erledigt* XML und Java DOM Tutorial XML & JSON 3
T SOAP mit Java ohne HTTP Server möglich? XML & JSON 3
C HTML-Befehle per Java entfernen XML & JSON 7
W Java und XML - help request XML & JSON 3
M [SOLVED]Ausgabe mit Java XML & JSON 2
P Unterschiede java 1.4 und 1.3 XML & JSON 3
M generate SVG with java XML & JSON 2
G java+xml mit dom4j XML & JSON 4
P XSLT in Java verwenden XML & JSON 7
M Auswertung arithmetischer Ausdrücke mit SAX und Java XML & JSON 7
S XMl Dateien in Java schreiben XML & JSON 4
B XML-Document mit Java erzeugen und zuruecksenden XML & JSON 1
J Beispiel aus Java Magazin 03/2004 gesucht ! XML & JSON 6
R java.net.MalformedURLException: no protocol . XML & JSON 12

Ähnliche Java Themen

Neue Themen


Oben