Ich arbeite an einem Projekt, bei dem wir eine große Anzahl von Objektübertragungen zwischen einem Java-Dienst und Clients in verschiedenen Sprachen durchführen. Angesichts unserer aktuellen Einschränkungen habe ich mich entschlossen zu sehen, was es braucht, um Code basierend auf einer bestehenden Java-Klasse zu generieren. Grundsätzlich muss ich eine .class
Datei (oder eine Sammlung von ihnen) den Bytecode analysieren, um alle Datenmitglieder und vielleicht Getters/Setter zu bestimmen und dann etwas schreiben, das Code in einer anderen Sprache ausgeben kann, um eine Klasse mit der gleichen Struktur zu erstellen .Programmgesteuertes Überprüfen von .Class-Dateien
Ich bin nicht auf der Suche nach Standard-Decompilern wie JAD. Ich muss in der Lage sein, eine .class
Datei zu nehmen und ein Objektmodell seiner Datenmitglieder und -methoden zu verursachen. Ist das überhaupt möglich?
+1 für ASM über BCEL. Viel schönere API. – skaffman
Tatsächlich bietet ASM ein Objektmodell, wenn Sie eines möchten. Siehe ihre Baum-API. –
Nach Auswertung aller hier aufgeführten Optionen ist ASM definitiv die beste IMHO für die Untersuchung von .class-Dateien. Ich stimme zu, dass das Besuchermuster viel sauberer ist als das BCEL-Modell. Danke für den Tipp. –