Resourcen in Java, in jar Datei?

DarthShader

Erfahrenes Mitglied
Hallo,

ich hätte mal eine etwas allgemeinere Frage bezüglich Resourcen in Java, damit meine ich z.B. Media Dateien wie Bilder oder Icons, die mein Programm benötigt.

Wie geht man im Allgemeinen vor, wenn man ein Programm "ausliefern" möchte? Bindet man resourcen (z.B. das Programm Icon) so ein, dass es im source-pfad angegeben ist, und dann benutzt man "class.getResource"? Dies bedeutet ja, dass die Resourcen mit in der späteren jar-Datei stehen (korrigiert mich, wenn dies falsch ist). Ich würde es jedoch bevorzugen, resourcen ausserhalb der jar Datei zu lagern, z.B. in einem Unterverzeichnis das ich mit ausliefere. Dann liegen die Dateien jedoch einfach so in einem Verzeichnis, das gefällt mir wiederrum nicht. Perfekt wäre eine verschlüselte, externe (also nicht im Jar Archiv enthaltene) Datei für Resourcen.

Oder ist es in Java eher üblich, solche Sachen mit in die jar Datei zu packen? Über ein paar Erfahrungswerte von Euch würde ich mich sehr freuen.


Vielen Dank für Eure Hilfe!
 
Hallo,

also ich kenne es so, dass die Icons meistens mit im JAR-File liegen. Aber das bleibt ja dir überlassen. Du kannst auch einfach die Dateien verschlüsselt abspeichern und extern "lagern".
Dann musst du sie halt vorher nochmal entschlüsseln, aber wie gesagt es bleibt letztendlich die überlassen wie du es machen möchtest.

MFG

zEriX
 
Vielen Dank für Deine Antwort.

Ja, dass es mir überlassen ist, weiß ich natürlich ;) Meine Frage zielte eher darauf ab, wie es in Java normalerweise gemacht wird, denn in Java gibt es ja oft sehr viele allgemeine Verfahrensweisen, an die man sich hält. Icons dann also in der Jar ablegen, ich denke größere Mediendateien werde ich dann immer aus der Jar Datei raushalten.

Allerdings verstehe ich das Prinzip von class.getResource nicht, wieso hat eine Klasse eine getResource Methode? Was ist der Sinn dahinter?
 
Eine Klasse hat eine solche Methode um auf Ressourcen zuzugreifen die im selben Package wie die Klasse liegen. Dann muss man nur noch den Dateinamen, nicht aber den Pfad angeben.
 
Zurück