Verwenden Sie JAXB (xjc) generierte Klassen in Android

8

Ich verwende ein Rest-Webservice in Android . Die Web Service könnte JSON und XML behandeln, die API wird als XSD beschrieben. Also habe ich JAXB verwendet, um Klassen aus dem XSD zu erzeugen, und dann habe ich den JSON Prozessor von jackson benutzt, um JSON von meinen Instanzen zu generieren.

Das Problem ist, dass JAXB ( xjc ) Klassen mit JAXB Annotationen generiert und Android diese nicht verarbeiten kann. Ich habe versucht, das jaxb-api.jar zu meinem Android-Projekt hinzuzufügen, aber das Dalvik wird keine Kernklassen verwenden.

Für meine erste Implementierung habe ich die Annotationen manuell entfernt. Aber jetzt wurde der XSD aktualisiert und ich möchte das nicht jedes Mal machen, wenn dies passiert.

Haben Sie eine Idee, wie Sie mit diesem Problem besser umgehen können? Gibt es eine Möglichkeit, jaxb/xjc ohne Anmerkungen zu verwenden oder gibt es einen anderen Code-Generator, der dies tun könnte? Kennen Sie eine einfache Möglichkeit, Anmerkungen aus Java-Klassen zu entfernen (auch wenn sie in mehreren Zeilen gedruckt sind)? Gibt es eine Projekteinstellung für Android Eclipse projekte, die den dalvik erlaubt, Core-Bibliotheken zuzulassen?

thx, cathixx

    
cathixx 06.09.2012, 14:58
quelle

2 Antworten

5

Ich musste ein wenig extra forschen, um die Antwort von cathixx funktionieren zu lassen, seit ich neu bei Ant bin, also werde ich das teilen, um anderen zu helfen.

Diese Anweisungen enthalten Java-Dateien mit Code wie:

%Vor%

... und diese Ereignisse kommentieren, so sieht es so aus:

%Vor%

Erstellen Sie zuerst eine Datei build.xml (oder wie immer Sie es nennen möchten - muss .xml sein) in einem neuen Eclipse-Projekt (ein "General" -Projekt ist in Ordnung).

Fügen Sie dann der build.xml -Datei den folgenden Text hinzu:

%Vor%

Fügen Sie die *.java -Dateien, die Sie kommentieren möchten, aus den XML-Importen und -Anmerkungen für dasselbe Verzeichnis wie die Datei build.xml heraus.

Klicken Sie mit der rechten Maustaste auf die Datei build.xml in Eclipse und klicken Sie auf "Ausführen als- & gt; Ant Build".

Sie sollten die Ausgabe wie folgt sehen:

%Vor%

... und die XML-Importe und -Anmerkungen sollten aus Ihren Dateien kommentiert werden.

Fertig!

Hinweis: Wenn Sie alle *.java -Dateien in alle Unterverzeichnisse der Datei build.xml einbeziehen möchten (z. B. um alle XML-Anmerkungen / Importe, die für mehrere JAXB-Klassen in mehreren Paketen generiert wurden, auszukommentieren), ändern Sie die fileset Tag an:

%Vor%     
Sean Barbeau 14.11.2012 17:29
quelle
2

Ich habe es jetzt selbst gelöst, indem ich alle Anmerkungen mit folgendem ant -Skript kommentiert habe:

%Vor%     
cathixx 10.09.2012 14:42
quelle

Tags und Links