jar, class, java und wieder zurück

linguster

Mitglied
Hallo und guten Abend,
wie schon mal erwähnt bin ich absoluter Anfänger und würde nicht mal ein paar Codezeilen selber schreiben können, aber was ändern bekomme ich vielleicht hin... 😉
Ich habe eine .jar Datei die ich nicht selbst geschrieben habe, die bei unserem CAD auf einer Oracle Datenbank etwas berechnet.
Die .jar habe ich entpackt, mit irgendwas aus den .class Dateien dann .java Dateien gemacht und diese konnte ich auch ins eclipse laden und lesen. Auch bekomme ich dort direkt wieder in .class Datei kompiliert.
Jetzt zu meinem Problem oder der Frage.
Werden .class Dateien geändert wenn die mit irgendwas in .java Dateien geändert werden? Weil wenn ich die .java Dateien im eclipse habe, zeigt der mir Fehler an, was ja eigentlich nicht sein kann, da ich noch nichts gemacht habe.
Den Fehler hatte ich heute auch schon gepostet, aber wenn ich den behebe läuft die Berechnung nicht, also es wird garnicht begonnen zu rechnen, da schon etwas umfangreicher ist kann ich nicht genau sagen wo der rechnet.
Vielleicht kann mir mal jemand generell sagen wie ich mit .jar Dateien umgehen kann die ich ändern möchte und die wie zusammenhänge da sind.
Achso, so einfach starten kann ich die .jar Datei nicht, da die erst sauber durchs CAD läuft und dort ihre Parameter bekommt.
Vielen Dank
 
"Ich habe mit irgendwas was gemacht, aber bekomme dann irgendwelche Fehler". Ernsthaft: was soll man dazu an Hilfestellung geben?
Wenn du allerdings schon in Eclipse Fehlermeldungen bekommst, deutet das ev. auf nicht vorhandene oder nicht auffindbare Bibliotheken hin. Aber das ist nur Spekulation.
Etwas off-topic: Ich finde es immer merkwürdig, wenn Leute mit etwas beauftragt werden, von dem sie offenbar keine richtige Ahnung, aber anstatt das dem Auftraggeber zu sagen, lieber in den Weiten des Netzes nach Hilfe suchen. Aber vielleicht hat ja auch der Auftraggeber keine wirkliche Ahnung?
 
danke für die Konstruktiven Antworten, wenn ihr die Energie darin gesteckt hättet um mir zu erklären wie die zusammenhänge zw. Jar, class und java sind, wäre mir weiter geholfen oder ob ich in eclipse auch mehrere class Dateien laden kann die dann bearbeiten kann.
 
mir zu erklären wie die zusammenhänge zw. Jar, class und java sind, wäre mir weiter geholfen

Offenbar weißt du das aber doch schon?! Du schreibst es schon selbst:
Die .jar habe ich entpackt, mit irgendwas aus den .class Dateien dann .java Dateien gemacht und diese konnte ich auch ins eclipse laden und lesen.

In den .java-Dateien hast du den vom Entwickler geschriebenen Programmcode. Dieser wird beim Kompilieren in "Maschinensprache" übersetzt. Heraus kommen dabei die für Menschen nicht mehr lesbaren .class-Dateien. Eine Java-Anwendung besteht in den Regel aber aus (deutlich) mehr als einer Datei, sondern einer Vielzahl an Klassen und eventuell auch weiteren zusätzlichen Resourcen (Bilder, Konfigurationsdateien, usw). Dies wird alles zusammen in ein Archiv gepackt, ähnlich einem zip-File. Das ist dann das .jar-File.

Letzteres kannst du einfach wieder entpacken, wie du es getan hast. Um aus den .class-Dateien, die du dann vorfindest, wieder für den Menschen lesbaren Programmcode zu erzeugen, muss der Maschinencode dekompiliert werden. Die Übersetzung in diese Richtung ist nur eingeschränkt möglich und nichts, womit man einen "absoluten Anfänger" beauftragen sollte. Was in deinem konkreten Fall nun tatsächlich das Problem ist, lässt sich mit den gegebenen Informationen aber überhaupt nicht sagen.

Dein Weg sollte eher darauf abzielen die originalen Quelldateien aufzufinden, dort die Änderungen vorzunehmen, und dann anschließend das Programm neu zu übersetzen und zu packen. Das ist auch der übliche Weg, den jeder Entwickler zuerst einschlagen würde. Ist das nicht möglich, weil die Originalquellen nicht mehr verfügbar sind, dann sollte sich aber tatsächlich eher ein erfahrener Entwickler an die Aufgabe begeben.
 
@linguster Kannst du dich bitte entscheiden, in welchem Thread du jetzt diskutieren möchtest? Im ersten einen Verweis auf den zweiten zu geben, und im zweiten wieder auf den ersten, ist ziemlich verwirrend.
Wenn ich mir die ganzen Informationen , die du bisher geliefert hast, ergibt sich folgendes Bild:
1. Es gibt eine Jar-Datei, die du entpackt hast, und deren .class-Dateien du irgendwie (wie genau, hast du nicht beschrieben, das ist aber auch nicht wirklich relevant) decompiliert und in Eclipse reingeladen hast.
Die .jar habe ich entpackt, mit irgendwas aus den .class Dateien dann .java Dateien gemacht und diese konnte ich auch ins eclipse laden und lesen. Auch bekomme ich dort direkt wieder in .class Datei kompiliert.
Weil wenn ich die .java Dateien im eclipse habe, zeigt der mir Fehler an, was ja eigentlich nicht sein kann, da ich noch nichts gemacht habe.
The constructor UpdateAttributPassingUpdateUI.SaveUIExceptionHandledListener(null) is undefined
angezeigt.
Wie kann es sein, dass du die *.java-Dateien kompilieren kannst, obwohl dir Eclipse den genannten Fehler anzeigt?
aber wenn ich den behebe läuft die Berechnung nicht, also es wird garnicht begonnen zu rechnen, da schon etwas umfangreicher ist kann ich nicht genau sagen wo der rechnet.
2. Das heisst: entweder kannst du es wegen Fehlern nicht kompilieren, und wenn du die Fehler behebst und es dann kompillierst, dann läuft es nicht richtig. Die Ursache für so ein Verhalten ist ohne eine wesentlich detailliertere Beschreibung des Fehlverhaltens unmöglich zu ermitteln. Woran merkst du denn, das es nicht rechnet? Wie stellst du fest, ob das Programm überhaupt läuft? Schiebst du die jar, die du nach der Fehlerkorrektur erzeugt hast, auf den Rechner, wo auch die CAD Anwendung und die Datenbank läuft, und versuchst dann, das ganze zu starten? Laufen die originale Jar und die von dir erstellte Jar unter denselben Bedingungen?
Und warum willst du die jar überhaupt ändern?
 

Zurück
Oben