Pfad einer .jar im Programm ermitteln

Basti4231

Bekanntes Mitglied
Hey Leute,

den Eintrag gibt es schon, aber dort habe ich nicht die Lösung für mein Problem gefunden.

Habe eine .jar-Datei, die nur unter Windows ausgeführt wird. Ich werde die noch in eine .exe umwandeln, aber ist ja nicht so relevant, denke ich.

Ich möchte dann in meinem Programm den Homepfad als den Pfad der .jar Datei verwenden.
Wie komme ich an diesen Pfad ran?

lg Basti
 
Zuletzt bearbeitet:
Man sollte über den Classloader zumindest an die URL kommen:
Java:
System.out.println(this.getClass().getResource(""));
 
Ja vielen Dank.

Ich habe es gerade zu spät gemerkt xD
Hatte sogar des schon im Code drin(für andere Zwecke).

Nehmen wir mal an, die .jar-Datei existiert irgendwo. Man weiß in den Klasssen, dass diese in diesem .jar-File drin sind. Aber man kennt nicht den Namen des .jar-Files. Wie ermittelt man dann dessen Name?

lg basti
 
Ja ich habe gerade damit rumexperimentiert.

Des ganze sieht als Ausgabe so aus:

Code:
jar:file:/C:/Dokumente%20und%20Einstellungen/User/Desktop/jogo.jar!/de/basti/view/

Also muss ich des package der Klasse noch entfernen und bis zum nächsten "/" gehen(also der vor jogo.jar!), damit ich den Pfad dann als Homepfad verwenden kann.


Mein nächstes Problem:

Ich habe Bilder in meinem Projektordner, auf die ich über blubb.class.getResource("/bildordner/bild.jpg") zugreife. Beim Ausführen aus Eclipse kein Problem(logisch). Beim Ausführen von der .jar, die sich irgendwo befinden mag, dann schon.
Der Pfad ist dann auch wie oben, bloß dass nach jogo.jar! dann "/bildordner/bild.jpg" steht und er somit das Bild nicht mehr findet.

Wie müsste ich da ungefähr vorgehen?

lg basti
 
Und die Bilder sind im mit im jar verpackt? Oder liegen daneben auf der Platte?
Bei letzterem spricht was dageben die Bilder mit ins jar zu packen?
 
Ich hätte schon gerne, dass ich die Bilder in der .jar habe und auch irgendwie dort zugreifen kann.

Die Sache ist Folgendes:

Ich habe eine Oberfläche mit Bildern. Die Bilder hole ich mir wie gesagt über
Java:
getClass().getResource("/bilderordner/bild.jpg");

Dann füge ich den Bildern noch Listener hinzu.
Beim Klicken des Bildes, soll sich ein weiterer Frame mit neuem Bild öffnen. Das Bild basiert auf dem Pfad des alten, bloß das dort noch der Ordnername geändert wird. (1. Ordner enthält kleine Symbole, 2. Ordner enthält große Symbole) In den Ordnern sind die Namen identisch.

Das komische ist, wenn ich meine .jar ausführe, findet er irgendwie die Bilder um sie im 1. Frame anzuzeigen. Beim Klicken des Bildes, wird nun aber das andere Bild nicht gefunden.
Ich verstehe das noch überhaupt nicht und gucke es mir die ganze Zeit an...

Ich hoffe, ich konnte es einigermaßen verständlich schildern :rtfm:

lg basti
 
Wie schaut denn der Code dazu aus?
Wenn folgendes funktioniert:
Java:
getClass().getResource("/bilderordner/bild.jpg");
sollte auch folgendes funktionieren:
Java:
getClass().getResource("/bilderordnergross/bild.jpg");
Sofern das Package bilderordnergross und das Bild darin existiert.
 
Ich habe mir gerade den Pfad der Bilder geholt, die schon sicher angezeigt werden.
Das ist echt merkwürdig, denn er unterscheidet sich nicht von den anderen.

Code:
file:/C:/Dokumente%20und%20Einstellungen/user/Desktop/jogo.jar!/bilderordner/bild.jpg


Und wegen dem Code:

Ich muss ca. ne halbe Stunde noch was testen, bevor ich noch Müll erzähle hier.
Ich melde mich um 19:00 nochmal.

Bis später

lg basti
 
Ok leute ich denke, ich werde das Problem bald lösen.

Ich bin jetzt auf einer heißen Spur. Habe herausgefunden, dass eine Exception geschmissen wurde, die ich nicht mit UI gehandled habe. Da diese Exception niemals beim Ausführen in Eclipse geworfen wurde, war klar, dass man die nicht so schnell findet 😀😀

Vielen Dank für eure gute Unterstützung. Ich melde mich wieder, wenn es Neuigkeiten gibt, die ihr erfahren müsst :bae:

lg basti
 
OK!!!!!!!!! Der Fehler ist behoben.....


Da macht man sich ne halbe Woche auf die Suche und wisst ihr, was man dann herausfindet?

Man versucht ein .jpg zu holen aber es ist nur ein .JPG da.

:lol::lol::lol:

Aber ich bin sooooooooo froh, dass ich es endlich geschafft habe XD

lg basti
 

Neue Themen


Zurück
Oben