mit JarJar Repackaging-Tool

8

Ich habe eine Webanwendung für die Google App-Engine bereitgestellt, und mein Webdienst verwendet das Trikot 1.14-Framework. Wenn ich versuche, die Webdienste auf dem GAE zu konsumieren oder aufzurufen, erhalte ich eine Klasse java.lang.IncompatibleClassChangeError: Implementing. Ich suchte herum und merkte, dass Jersey 1.14 von ASM 3.1 abhängt und Google App Engine ASM 4.0 verwendet und erkennen, dass ich JarJar verwenden musste, um die Abhängigkeiten zu packen, um dieses Problem zu beheben, aber ich habe keine Ahnung wie dies zu tun ist mit JarJar. Das Tutorial, das ich fand, war sehr kryptisch und auf erfahrene Programmierer ausgerichtet. So kann jemand ein Tutorial schreiben, das auf Anfänger ausgerichtet ist oder mich durch die Schritte führen, um dieses Problem zu lösen.

    
Joel Dean 27.09.2012, 01:17
quelle

2 Antworten

9

Nun, das ist ziemlich spät Antwort, aber wenn jemand vorbeikommt, könnte es helfen. Ich werde ein Beispiel nehmen und das erklären. Jarjar kann zum Repackieren von Java-Bibliotheken verwendet werden. es kann verwendet werden, um den Namensraum zum Beispiel zu ändern. org.apache.common.codec muss in some_random_name.org.apache.common.codec geändert werden. Laden Sie jarjar von der jarjar-Download-Site herunter, fügen Sie die JAR-Datei, die Sie ändern möchten (myinjar.jar), später ein und laden Sie sie herunter jarjar in einen Ordner und führe diesen Befehl aus java -jar jarjar-1.4.jar process myrules.txt myinjar.jar myoutjar.jar in myrules.txt füge diese Zeilen hinzu

%Vor%

Die Ausgabe myoutjar.jar wird in demselben Ordner gespeichert und Sie können sie ohne Konflikte in Ihrem Projekt verwenden

    
krishna chaitanya 08.11.2015 09:33
quelle
0

Sie können den jar-Befehl von jdk verwenden, um die JAR-Dateien zu extrahieren und zusammenzuführen.
jar -xvf firstjar.jar .... Es wird den jar-Klassenordner / package wise -com / pak1 / pak2
extrahieren Jetzt extrahieren Sie gleich zweites Glas und fusionieren Sie die beiden erweiterten Ordner Nein, Sie können ein einzelnes Jar mit zusammengeführten Klassendateien erstellen.
jar -cvf mergedjar.jar [Ordnername [ex com org ...]] , für Details überprüfen Sie, wie jar-Befehle funktionieren.

    
Naveen Ramawat 10.01.2014 12:43
quelle

Tags und Links