Erste Schritte Einbindung von Grafiken beim Eclipse Export in Jar File

GGK_01

Bekanntes Mitglied
Hallo,

ich habe eine Frage bezüglich der Einbindung von Grafiken (Icons am Suchbutton) im Jar File, das Eclipse exportiert wird.
Probiert hab ich schon vieles, jedoch funktioniert hat die Darstellung leider noch nicht.

Ich möchte aus Eclipse ein Jar-File exportieren, die Datei vom Desktop (also Windowsumgebung) aufrufen...aber leider fehlen die eingebundenen Grafiken.


Java:
File f = new File("\\Worklist.jar\\worklist\\Refresh24.gif");
	textArea_1.setText(f.getCanonicalPath()+": " +f.exists()+"\n");
	URL url = Main.class.getResource("Refresh24.gif");
	textArea_1.append("URL: " +url);

beim Aufruf meines Programmes werden aber die Grafiken nicht gefunden:
Code:
\\server2231c\DAT\USER10\b0003432\Desktop\Worklist.jar\worklist\Refresh24.gif: false
URL: jar:file://server2231c/DAT/USER10/b0003432/Desktop/Worklist.jar!/worklist/Refresh24.gif

Java:
File userdirs = new File(System.getProperty("user.dir"));
User.dir: \\server2231c\DAT\USER10\b0003432\Desktop

Ich kann nicht nachvollziehen, was hier passiert und wo ich die Grafik einfügen muss (da Eclöipse die Grafik nicht exportiert, kopiere ich diese manuell in das jar-file.

Danke für Eure Hilfe

GGK
 

Volvagia

Top Contributor
Niemals Backslashes machen, das kann auf anderen Betriebsystemen (in meinen Fall Ubuntu) Probleme verursachen.

Liegt die Graphic in der Jar im selben Verzeichnis wie die .class-Datei?
 

GGK_01

Bekanntes Mitglied
Ja, die Refresh.gif liegt im Verzeichnis bei den .class Files.


die Backslashes sind auch raus..immer noch das gleiche Problem
 

Nodiraa

Mitglied
versuch es mal nur mit einem relativen Pfad und dem Start aus eclipse, wenn der funktioniert, dann genauso exportieren und wieder an der Stelle im jar einbinden.
 
N

nillehammer

Gast
Ich kann nicht nachvollziehen, was hier passiert und wo ich die Grafik einfügen muss (da Eclöipse die Grafik nicht exportiert, kopiere ich diese manuell in das jar-file.
Eclipse exportiert alles ins jar-File, was in einem Source-Folder liegt. Schmeiß die Grafiken also entweder direkt in die Packages, in denen die Java-Dateien liegen oder erstelle Dir die allgemein so benutzte Ordnerstruktur wie folgt:
Code:
deinProjekt/
  src/
    main/
      java/   <-- Das muss ein Source-Folder sein
         ein/package/
         ein/anderes/package/
      resources/ <-- Das muss auch ein Source-Foder sein
         ein/resource/package/
         ein/anderes/resource/package/
Source-Folder erstellst Du über "rechte Maustaste auf das Projekt -> Properties -> Build Path". Damit hast Du die Bilder dann mit im jar.
Darauf zugreifen tust Du mit folgendem Code:
Java:
// Gif liegt in einem Package ein.resource.package
Main.class.getResource("/ein/resource/package/Refresh24.gif");
// Gif liegt im default package
Main.class.getResource("/Refresh24.gif");
Wichtig ist hier der voll qualifizierte Name inkl. Package, der immer von Root aus losgeht, also mit einem "/" beginnt.

P.S. Das hier ist Käse. Du kannst auf Resourcen in Jars nicht per File-Semantik zugreifen, weil sie keine Files sind:
Java:
File f = new File("\\Worklist.jar\\worklist\\Refresh24.gif");
 
Zuletzt bearbeitet von einem Moderator:

dzim

Top Contributor
Was genau für eine Anwendung schreibst du denn?

Wenn es eine Eclipse-Anwendung wäre (sprich ein Bundle/Plugin), dann wäre folgender Code für dich hilfreich:
Code:
				URL pluginBasedURL = new URL("platform:/plugin/"
						+ MyPlugin.PLUGIN_ID + "/" + iconPath);
				if (FileLocator.find(pluginBasedURL) != null) {
					ImageDescriptor id = AbstractUIPlugin
							.imageDescriptorFromPlugin(PFSCorePlugin.PLUGIN_ID,
									iconPath);
					result = id.createImage();
				}

Ansonsten muss du nur, wenn der Name deiner Klasse "mein.package.Main" lautet, die Datei Bildatei entprechend in "mein.package" liegen, also quasi als "mein.package.Refresh24.gif", dann klappt es auch mit dem "Main.class.getResource("Refresh24.gif");" - am besten aber getResourceAsStream(""), dann kannst du es mit anderen Mitteln laden.
z.B. für Swing:
Code:
BufferedImage img = ImageIO.read(Main.class.getResourceAsStream("Refresh24.gif"));

(Die Seite, die der GUI-Programmer verlinkt hat, ist hier dein Freund)
 

GGK_01

Bekanntes Mitglied
Danke für Eure Hilfe....die Grafik habe ich nun erfolgreich eingebunden:

Java:
btnDb.setIcon(new ImageIcon(Worklist.class.getResource("/Refresh24.gif")));
Die Datei "Refresh.gif" braucht für Eclipse und für das JAr-File einen unterschiedlichen Ablagebereich
Jar-File:
Code:
Mein Package
             /Worklist
                 /src
Eclipse:
Code:
Mein Package
             /Worklist
                 /bin

LG, GGK
 

Volvagia

Top Contributor
Du hast in einem Jar-File einen src-Ordner?
btw. sollte Eclipse selbstständig beim Build von src ins bin kopieren. Das ist wichtig, da es den bin regelmäßig neu aufbaut.
 

GGK_01

Bekanntes Mitglied
die dargestellte Ordnerstruktur entspricht meiner Entwicklungsumgebung in Eclipse. Im Jar-File habe ich die Grafik auf oberster Ebene.
Ich hab gerade nochmals ein bissl rumgespielt...ich brauch in Eclipse die Datei in beiden Ordern
Code:
src
src\meinProject


GGK
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Einbindung e(fx)clipse in Eclipse Java Basics - Anfänger-Themen 11
F Warum erhalte ich diese Fehler bei der Einbindung von SQLite JDBC in Eclipse? Java Basics - Anfänger-Themen 1
J Einfache einbindung eines Bildes in ein Applet Java Basics - Anfänger-Themen 4
B Linux, Dateipfad, Einbindung externer Dateien.. Java Basics - Anfänger-Themen 7
G Probleme bei Einbindung von Methoden Java Basics - Anfänger-Themen 21
B Fehler bei Einbindung von Klasse aus externem Paket Java Basics - Anfänger-Themen 2
K Jar Export resourcen einbindung -> Fat Jar Java Basics - Anfänger-Themen 8
H javac Befehl trotz Variablen einbindung ned gefunden Java Basics - Anfänger-Themen 23
C Einbindung von HTTPClient Java Basics - Anfänger-Themen 2
G Einbindung von MVC (Model-View-Controll) Java Basics - Anfänger-Themen 8
S ClassNotFoundException trotz JAR Einbindung in Eclipse Java Basics - Anfänger-Themen 2
D Probleme nach Einbindung einens neuen Packages Java Basics - Anfänger-Themen 5
F Einbindung externer JARs Java Basics - Anfänger-Themen 2
A Einbindung von .wav files. Java Basics - Anfänger-Themen 8
C Bewegte Grafiken Java Basics - Anfänger-Themen 4
N Grafiken in JOptionPane Java Basics - Anfänger-Themen 3
F Problem mit externen Grafiken und Eclipse Java Basics - Anfänger-Themen 20
P Bewegte Grafiken Hilfe Java Basics - Anfänger-Themen 4
B Grafiken/Bilder mit Netbeans in Jdialog Java Basics - Anfänger-Themen 7
G Ist es möglich, den 'Rahmen' eines Frames durch Grafiken. Java Basics - Anfänger-Themen 5
N Zwei Grafiken / Objekte übereinander abbilden Java Basics - Anfänger-Themen 5
M Problem beim Laden von Gif-Grafiken Java Basics - Anfänger-Themen 2
R Grafiken anzeigen Java Basics - Anfänger-Themen 3
Juelin jedit Fehler beim starten Java Basics - Anfänger-Themen 2
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
T DamagedFontException beim drucken Java Basics - Anfänger-Themen 3
Z SNAKE Schlange beim Aufheben von Essen verlängern Java Basics - Anfänger-Themen 4
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
B Objekte verschwinden beim Übersetzen Java Basics - Anfänger-Themen 5
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
S Fehler beim Programm Java Basics - Anfänger-Themen 2
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
M String beim einlesen formatieren Java Basics - Anfänger-Themen 12
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
I InputStream beim zweiten Mal fehlerhaft Java Basics - Anfänger-Themen 10
C Fehler beim erstellen eines Objektes Java Basics - Anfänger-Themen 3
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
CptK Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
Avalon Programmierstil beim Mocken Java Basics - Anfänger-Themen 45
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
J Hilfe beim verstehen Java Basics - Anfänger-Themen 3
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
E Macht Java Rechenfehler beim Potenzieren und Mod? Java Basics - Anfänger-Themen 5
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
S Endlosschleife beim Ausgeben einer LinkedList Java Basics - Anfänger-Themen 2
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
Kirby.exe Fehler beim Ausgeben Java Basics - Anfänger-Themen 2
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
D Was tun gegen zu komplzierten Denken beim Programmieren Java Basics - Anfänger-Themen 27
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
T Fehlermeldung beim Versuch, einen String einzulesen Java Basics - Anfänger-Themen 4
V Wie wiederhole ich eine for-Schleife beim erreichen eines Wertes Java Basics - Anfänger-Themen 9
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
D Beim Programmieren auf die Logisch einfache Lösung kommen. Java Basics - Anfänger-Themen 17
S IndexOutOfBoundsException beim hinzufügen eines Elements zu einer Liste Java Basics - Anfänger-Themen 11
R String index out of range: -1 beim Datei Parsen Java Basics - Anfänger-Themen 15
I Methoden List.contains() beim 2. Element = true Java Basics - Anfänger-Themen 1
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
O Verwirrt beim Java Collection Framework aufruf! Java Basics - Anfänger-Themen 9
S switch case fängt beim letzten case an Java Basics - Anfänger-Themen 6
S Erste Schritte Hilfe beim lernen von Programmieren Java Basics - Anfänger-Themen 2
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
A Pendeltouren beim Savings erfahren "schummeln" in Ordnung? Java Basics - Anfänger-Themen 1
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben