getResource dont work in eclipse

Hallo,

ich frage mich folgendes:
Ich lade mit URL url = this.getClass().getResource("/images/filename.jpg");
eine Datei.

Exportiere ich mittels Eclipse ein Jar und starte dieses funktioniert es ohne Probleme.
Starte ich die App in Eclipse, liefert mir getResource null.

Kann mir das bitte jemand erklären.

greets
 
Hi,
ein bischen mehr Code wäre in diesem Fall angebracht. Woran es aber liegen kann, dass du das Bild nicht in dem Package abgelegt hast, wo du es suchst. Sprich, wenn du den aufruft mit getClass().getResource(...) machst, dann muss die Package-/Klassen-Strutkur folgendermaßen aussehen.

Code:
- Java-Datei "Deine Klasse" (mit getClass...-Aufruf)
+ Package "images"
   - Bild-Datei "filename.jpg"

Außerdem kannst du bei der Pfadangabe den ersten Slash und das this weglassen:
Code:
getClass().getResource("images/filename.jpg")

Gruß

Fabio
 
verstehe, ich dachte dass getResource aus dem root Verzeichnis der Applikation startet.
Wenn ich das File direkt im Package bei der Klasse habe ist es kein Problem.

Angenommen ich möchte diverse Bilder hinzufügen nach dem das JAR bereits gepackt wurde.
z.B.
- App.jar
+ images
- bild.jpg

Wie könnte man diese Files laden die im selben Verzeichnis oder darunter wie das JAR sind?
 
Also das hinzufügen von einer Datei zu der Jar-Datei ist sehr sehr schlecht. Ich kann dir noch nicht einmal sagen, ob es funktioniert. Ich denke aber eher nicht.
Allerdings kannst du die Bilder auch im Projekt unter einem Ordner (z.B.: images) ablegen. Auf diese greifst du dann einfach so zu:
Java:
File file = new File("./images/filename.jpg");
 
Warum soll das schlecht sein?

*EDIT* Sorry zu schnell gelesen. Das *nachträgliche* hinzufügen von Dateien sollte man natürlich unterlassen.

Gruß Sebastian
 
Zuletzt bearbeitet:
Zurück