Jar Datei im Java Code auslesen?
Hallo,
ich programmiere jetzt schon eine weile in Java und bin bei einer Sache stecken geblieben. Ich versuche eine .jar Datei von Java aus auszulesen um dann zu überprüfen ob eine Klasse darin von einer eigenen erbt. Die eigene Klasse ist bekannt also würde das überprüfen durch "instanceof" eigentlich gehen nur wie kann ich durch die Klassen durch gehen und Java sagen, dass das überhaupt eine Klasse ist? Ein Beispiel wäre sehr hilfreich ist aber nicht zwingend notwendig.
Vielen Dank im voraus.
Dominik/Segdogames
2 Antworten
Man kann in Java einen Classloader erstellen, mit welchem man dann die Jars Laden kann, den genauen Code kann ich aber nicht auswendig, weil man das eher selten braucht.
Dann kannst du mithilfe von Reflections überprüfen ob eine Klasse von einer anderen erbt.
Danke für das Kompliment, mit dem Vermerk auf Reflections bei dieser Antwort (und anderen guten Antworten) gebe ich das auch gerne zurück.
Du kannst JAR-Dateien als Bibliotheken in dein Projekt einbinden und dann deren Klassen ganz normal verwenden. Es würde aber keinen Sinn machen, wenn eine externe Bibliothek von einer deiner Klassen erbt. Da hieße ja, dass der Entwickler dieser JAR-Datei den vollständigen Namen (package + Klassenname) deiner Datei wusste und seine JAR-Datei gebaut hat, ohne zu wissen, ob der Code tatsächlich so funktioniert...