Problem beim .jar Datei erstellen

Luk10

Top Contributor
Grüße,

Ich will mit Eclipse eine .jar Datei exportieren, die ich ohne Konsole starten kann. Leider funktioniertdas nicht wie ich will:

Ich möchte .png Bilder ohne konkrete Pfadangabe einbinden. Wenn ich das Programm starte funktioniert das ganz wunderbar: Bilder liegen einfach im Verzeichnis, wo auch scr und bin liegt.

Dann einfach mit
Code:
"/pics/meinBild.png"
das Bild laden.

Leider funktioniert das nichtmehr wenn ich die Datei als .jar exportiere und ich bekomme eine Exception :noe:

Ich gebe doch beim Export extra an, dass er mir die Bilder einbinden soll: "Select Resources to export", dort gebe ich meinen - in Eclipse vorhandenen - Ordner mit meinen Bildern an.

Funktioniert trotzdem nicht.

Kann mir da jemand helfen?

Danke,
-Luk-
 

Luk10

Top Contributor
Sehr seltsam ... ich lade meine Images so:

Java:
public BufferedImage[] loadSprite(String path, int pic_count) {
		
		BufferedImage source = null;
		BufferedImage[] img = new BufferedImage[pic_count];
		
		try {
			
			source = ImageIO.read(new File(path));
			
		} catch (IOException e) {
 
			e.printStackTrace();
		
		}
// Mach was mit dem geladenen Bild
}

Hat bisher auch so geklappt ... bin sehr verwirrt von diesem komischen Fehler mit dem Exportieren ...
Gerade getestet: Bilder die ich explizit angebe: "C:/.../.png" werden richtig geladen.

Kannst du mir vielleicht sagen wieso ich das als Stream laden muss? Wo finde ich das in der API bzw. kannst du mir gleich den Code umschreiben?

Danke,
-Luk10-
 

Kevin94

Top Contributor
Du musst es nicht unbedingt als Stream laden, aber auf jeden Fall über [c]getClass().getResource("/pics/bild.png")[/c] oder [c]getClass().getResourceAsStream("/pics/bild.png")[/c], weil File keine Dateien in Archiven (zip,jar und co) abbilden kann, bzw nicht im Archiv sucht, sondern nur in Unterverzeichnissen.
 

Luk10

Top Contributor
Hm, okay ...
Ich werde das mal so versuchen wie du es mir vorschlägst!

Danke

EDIT:

Wie kann ich dann aus der URL mein BufferedImage laden? Finde auf anhieb nichts passendens viá google?
 
Zuletzt bearbeitet:

Luk10

Top Contributor
Bei mir wird die URL nicht richtig erstellt, obwohl der Pfad für
Code:
new File(String path)
funktioniert hat ... muss man da auch noch was beachten?

Wirft bei mir so
Code:
"pics/Environment_2.png"
eine NPE :noe:

Danke,
-Luk10-
 

Luk10

Top Contributor
Das Bild habe ich noch nicht so geladen bekommen, dass es in der .jar funktioniert.

Was meinst du mit wie mein jar File aussieht? Danz normal in meinen Augen.
 
G

Gast2

Gast
Ich meinte die Ordnerstruktur in dem jar file.
Und wie versuchst du jetzt das Bild zu laden?
 

Luk10

Top Contributor
Ordernstruktur:

-package1/package2/package3/bsp.java
-META-IN
-pics/bsp.png


Laden:

Java:
BufferedImage source = null;
		BufferedImage[] img = new BufferedImage[pic_count];
		
		File file = new File(path);
		URL url = null;
		
		try {
			
			url = file.toURL();
			
		} catch (MalformedURLException e1) {

			e1.printStackTrace();
		}
		
		try {
		
			source = ImageIO.read(url);
			
			
		} catch (Exception e) {
 
			e.printStackTrace();
		
		}
 
G

Gast2

Gast
Wie schon erwähnt musst du das Bild mit getResourceAsStream laden, in einer jar Datei gibt es keine richtigen Files mehr.
Leg das Bild zum Testen mal in den Ordner package1/package2/package3 und lad das Bild per
Code:
bsp.class.getResourceAsStream("bild.png")
 

Luk10

Top Contributor
Gibt mir einen Inputstream als Rückgabe ... mir geht aus der Methoden-Beschreibung nicht hervor wie ich daraus ein BufferedImage mache ...

Tut mir Leid dass ich hier so blöd rumfragen muss, aber ich kenne mich auf dem Gebiet I/O nicht besonders gut aus.
 
G

Gast2

Gast
Wenn du das Bild per ImageIO laden willst, dann kannst du auch einfach getResource aus der selben Klasse verwenden
 

Luk10

Top Contributor
Java:
URL url = getClass().getResource(path);
		
		if (url == null) {
			
			System.out.println("url == null");
			
		}
		
		try {
		
			source = ImageIO.read(url);
			
			
		} catch (Exception e) {
 
			e.printStackTrace();

So also? Wirft bei mir eine IllegalArgumentException nach der Ausgabe "url == null" ;(

Edit: Andere Exception
 
G

Gast2

Gast
Welche Klasse ist das in der der Code steht?
Was ist path?
Wie schaut jetzt dein jar file aus?
 

Luk10

Top Contributor
Java:
public abstract class Sprite {

public BufferedImage[] loadSprite(String path, int pic_count) {
		
		BufferedImage source = null;
		BufferedImage[] img = new BufferedImage[pic_count];
		
		URL url = getClass().getResource(path);
		
		if (url == null) {
			
			System.out.println("Fail inputstream!");
			
		}
		
		try {
		
			source = ImageIO.read(url);
			
			
		} catch (Exception e) {
 
			e.printStackTrace();
		
		}
		
		for (int i = 0; i < pic_count; i++) {
			
			img[i] = source.getSubimage(i * source.getWidth() / pic_count, 0, source.getWidth() / pic_count, source.getHeight());
		
		}
		
		return img;
	
	}
Java:
public enum Path {
	
	
	A("pics/a.png"),
	B("pics/b.png");
	
	
	private final String path;
	
	
	private Path(String path) {
		
		this.path = path;
		
	}
	
	public String getPath() {
		
		return path;
		
	}
	

}

String Argument wird korrekt übergeben!
Habs bisher nicht als .jar ausgeführt ... führt schon in Eclipse zu der Exception
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
J Encoding Problem beim Einlesen einer txt Datei mit Umlauten Java Basics - Anfänger-Themen 3
D Problem beim Lesen einer txt-Datei Java Basics - Anfänger-Themen 8
Z Problem beim Lesen und Schreiben einer Datei Java Basics - Anfänger-Themen 10
J Problem beim auslesen von Int Wert aus YML-Datei Java Basics - Anfänger-Themen 6
A Problem beim Ausführen einer .jar datei auf externen System Java Basics - Anfänger-Themen 5
L Problem beim Einlesen einer Datei in einen String Java Basics - Anfänger-Themen 12
M line.separator: Problem beim Lesen einer Datei Java Basics - Anfänger-Themen 11
T Problem beim schreiben in Datei Java Basics - Anfänger-Themen 7
A Problem beim Schreiben in eine Datei Java Basics - Anfänger-Themen 3
G problem beim schreiben in eine txt datei Java Basics - Anfänger-Themen 2
D Problem beim auslesen von txt datei. Java Basics - Anfänger-Themen 26
H Problem beim Einlesen einer Datei (Endlosschleife ?) Java Basics - Anfänger-Themen 3
T Problem beim Einlesen einer Datei Java Basics - Anfänger-Themen 3
L Merkwürdiges Problem beim Speichern und Öffnen einer Datei Java Basics - Anfänger-Themen 3
G Problem beim erstellen einer .jar Datei Java Basics - Anfänger-Themen 9
K Problem beim Auslesen einer Datei Java Basics - Anfänger-Themen 6
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
B Problem beim grundsätzlichen Verständnis bei Rekursion mit 2-dimensionalen Array Java Basics - Anfänger-Themen 6
E Datentypen Problem beim Speichern von enum. Java Basics - Anfänger-Themen 10
A Problem beim Deklarieren von einem BOOLEAN Java Basics - Anfänger-Themen 4
B Gleicher Prozess starten und stoppen (Problem beim Stoppen) Java Basics - Anfänger-Themen 5
DestinatioN Problem beim splitten eines Satzes in Wörter und die Wörter in Buchstaben Java Basics - Anfänger-Themen 2
B Problem beim Angeben einer Eingabe Java Basics - Anfänger-Themen 12
R Problem beim Wochenplan (Datum,Wochentag) Java Basics - Anfänger-Themen 30
D Problem beim umwandeln eines Strings in eine Dzezimalzahl Java Basics - Anfänger-Themen 6
A Compiler-Fehler Problem beim einbinden der applet Klasse Java Basics - Anfänger-Themen 2
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
C Problem beim laden eines BufferedImage Java Basics - Anfänger-Themen 2
fLooojava Bluetooth Projekt - Problem beim mehrmaligen Senden Java Basics - Anfänger-Themen 5
E Problem beim Übergeben von Parameter an Methode Java Basics - Anfänger-Themen 2
R Problem beim erstellen eines neuen Klassenobjekts Java Basics - Anfänger-Themen 2
F Input/Output Problem beim einlesen eines Strings Java Basics - Anfänger-Themen 3
P Problem beim Abschluss im Kompositum Java Basics - Anfänger-Themen 3
M Problem mit null pinterexception beim laden von Bildern Java Basics - Anfänger-Themen 20
K Problem beim Array aufruf Java Basics - Anfänger-Themen 4
J Problem beim ausführen in cmd.exe Java Basics - Anfänger-Themen 4
J Variablen Problem beim einlesen einer Zahl Java Basics - Anfänger-Themen 7
A Problem beim Compilieren Java Basics - Anfänger-Themen 11
J Problem beim Fenster Java Basics - Anfänger-Themen 4
tux20 Problem beim Schreiben von List to File Java Basics - Anfänger-Themen 2
M Problem beim Compilieren Java Basics - Anfänger-Themen 14
Maxim6394 Problem beim Abspielen von Sounds Java Basics - Anfänger-Themen 8
S Problem beim ersten compilieren überhaubt Java Basics - Anfänger-Themen 43
H Problem beim lesen des InputStreams von einem Subprozess Java Basics - Anfänger-Themen 4
L Problem beim Ausführen Java Basics - Anfänger-Themen 40
A Problem beim einfügen in eine Datenbank Java Basics - Anfänger-Themen 2
E Problem beim Programmieren eines Kartenspiels Java Basics - Anfänger-Themen 3
M Problem beim compilieren Java Basics - Anfänger-Themen 6
JAVAnnik problem beim lvl laden Java Basics - Anfänger-Themen 15
W Problem beim erstellen eines Tests Java Basics - Anfänger-Themen 16
JAVAnnik Problem beim Objekt bewegen Java Basics - Anfänger-Themen 20
A Erstes Programm - Problem beim Ausführen als jar Java Basics - Anfänger-Themen 3
S Problem beim Speichern und Laden von Daten Java Basics - Anfänger-Themen 13
B Problem beim Abspielen einer Videodatei Java Basics - Anfänger-Themen 4
S Problem beim Erstellen eines Scanner-Objekts Java Basics - Anfänger-Themen 7
W Problem beim CSV-Import Java Basics - Anfänger-Themen 5
M Datentypen Problem beim zusammenstellen eines Abfrage-Strings Java Basics - Anfänger-Themen 3
K Collections Problem beim import von Packages Java Basics - Anfänger-Themen 10
S Problem beim Kompilieren - cannot find symbol - constructor() Java Basics - Anfänger-Themen 12
B Problem beim Email versenden mit Javamail Java Basics - Anfänger-Themen 5
H Problem beim Anfang von Java (Java Editor) Java Basics - Anfänger-Themen 2
I Problem beim Schreiben eines ersten Programms Java Basics - Anfänger-Themen 3
D Problem beim Zeichnen von "Das Haus vom Nikolaus" Java Basics - Anfänger-Themen 10
D Problem beim Auslesen aus File Java Basics - Anfänger-Themen 3
A Problem beim Splitten eines Strings Java Basics - Anfänger-Themen 10
S Problem mit ObjectInputStream beim Einlesen von LinkedList Java Basics - Anfänger-Themen 3
J Problem beim Löschen von elementen aus einer ArrayList Java Basics - Anfänger-Themen 5
V Problem beim Programm laden Java Basics - Anfänger-Themen 5
H Problem beim kompilieren Java Basics - Anfänger-Themen 3
C ActionListener problem beim starten von programmen Java Basics - Anfänger-Themen 3
4 OOP Problem beim Speichern verschiedener Klassen in verschiedenen Dateien Java Basics - Anfänger-Themen 25
T Problem beim Returnwert einer Methode Java Basics - Anfänger-Themen 12
Miladriel Problem beim Neuzeichnen nach deiconify Java Basics - Anfänger-Themen 9
R Problem beim Ausführen von Java-PGM aus der shel Java Basics - Anfänger-Themen 3
G Problem beim Sortieren einer Liste Java Basics - Anfänger-Themen 20
M Problem beim Ereignishandling mit Menü Java Basics - Anfänger-Themen 2
H problem beim zeichen im JFrame Java Basics - Anfänger-Themen 6
F Problem beim Objekteaufruf... Java Basics - Anfänger-Themen 4
E BlockChallenge: Problem beim löschen der Blöcke Java Basics - Anfänger-Themen 3
H Problem beim Verkürzen von Programm Java Basics - Anfänger-Themen 3
T Problem beim Werfen und Fangen von Exceptions Java Basics - Anfänger-Themen 2
M Problem beim Zugriff auf Daten GUI + Startklasse Java Basics - Anfänger-Themen 4
P Problem beim Thread Java Basics - Anfänger-Themen 20
0 problem beim Polygon zeichnen Java Basics - Anfänger-Themen 3
V Problem beim erstellen eines ausführbaren Programs Java Basics - Anfänger-Themen 5
0 Problem beim Starten des Applets Java Basics - Anfänger-Themen 2
N Problem beim Durchsuchen einer LinkedList Java Basics - Anfänger-Themen 5
G Problem beim Programmieren von Blackjack Java Basics - Anfänger-Themen 15
R Problem beim Laden eines Images Java Basics - Anfänger-Themen 7
K Problem beim installieren des JDK 1.6+ version Java Basics - Anfänger-Themen 3
T Problem beim Konsolenstart Java Basics - Anfänger-Themen 5
C Problem beim Berechnen der Quadratwurzel Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben