A
Ataraxie
Gast
Hallo,
ich habe folgendes Problem, wenn ich ein Bild aus einer Jar-Datei laden möchte, sollte ich um den Pfad herauszufinden MeineKlasse.getClass().getResource("datei"); benutzen. Soweit so gut, wenn ich die Class-Datei per IDE starte funktioniert es auch reibungslos, aber soblad diese Zeile aus der Jar-Datei heraus ausgeführt wird bricht das Programm ab, bzw. die Zeile wird ohne Fehlermeldung einfach nicht ausgeführt! Ich weiß nicht mehr ein noch aus!
Ich habe irgendwo gelesen, dass es damit zusammenhängen kann ob die Methode aus der der Befehl ausgeführt wird static oder non-static ist, vorweg die methode ist non-static, aber ich habe keine Ahnung was genau das für Auswrikungen auf die Ausführbarkeit hat.
Hier ist ein kleines Beispielprogram, wenn ich es aus dder IDE starte, dann erscheint im Fenster (ziemlich unschön) der Pfad der gesuchten Datei, aber sobald ich die erstellte .Jar starte geht garnichts.
Beispielcode:
Cmd um die Jar zu erstellen:
jar.exe cvmf ManifestMain.txt Test.jar *.class *.jpg
Inhalt der ManifestMain.txt:
Main-Class: Test\r\n
ich habe folgendes Problem, wenn ich ein Bild aus einer Jar-Datei laden möchte, sollte ich um den Pfad herauszufinden MeineKlasse.getClass().getResource("datei"); benutzen. Soweit so gut, wenn ich die Class-Datei per IDE starte funktioniert es auch reibungslos, aber soblad diese Zeile aus der Jar-Datei heraus ausgeführt wird bricht das Programm ab, bzw. die Zeile wird ohne Fehlermeldung einfach nicht ausgeführt! Ich weiß nicht mehr ein noch aus!
Ich habe irgendwo gelesen, dass es damit zusammenhängen kann ob die Methode aus der der Befehl ausgeführt wird static oder non-static ist, vorweg die methode ist non-static, aber ich habe keine Ahnung was genau das für Auswrikungen auf die Ausführbarkeit hat.
Hier ist ein kleines Beispielprogram, wenn ich es aus dder IDE starte, dann erscheint im Fenster (ziemlich unschön) der Pfad der gesuchten Datei, aber sobald ich die erstellte .Jar starte geht garnichts.
Beispielcode:
Code:
import java.awt.*;
class Test extends Frame
{
TextField t;
Test(){
super();
t= new TextField();
t.setText(this.getClass().getClassLoader().getResource("GRAU LED.jpg").toString());
this.add(t);
}
public static void main(String args[]){
Test s=new Test();
s.setSize(100,100);
s.setVisible(true);
}
}
Cmd um die Jar zu erstellen:
jar.exe cvmf ManifestMain.txt Test.jar *.class *.jpg
Inhalt der ManifestMain.txt:
Main-Class: Test\r\n