Forum: PC-Programmierung Eclipse - Projekt in Java exportieren


von Leonie (Gast)


Lesenswert?

Hi Leute!

Hier bin ich vielleicht richtig...

ich bin im ersten Semester in Informatik und habe eine kleine 
Java-Applikation geschrieben (in Eclipse), die ein Logo unserer 
Lerngruppe enthält (auf dem JFrame) und letztlich als JAR-File auf einem 
anderen PC laufen soll.

Wenn ich in Eclipse per Rechtsklick auf EXPORT und anschließend auf 
"Finish" klicke, wird zwar das Programm selbst als Runnable JAR 
exportiert, allerdings erscheint das Logo nicht in der ausgeführten JAR 
:-(

Das Logo ist in jpg-Format und wird in Eclipse selbst beim Ausführen 
einwandfrei angezeigt. Nicht aber in der JAR-Runnable.
Das Logo selbst befindet sich direkt im "src"-Verzeichnis des Projekts.


Was machen wir falsch?
Können wir das garnicht in ein JAR-Runnable "exportieren"?

Hilfe!

Danke!

von Dr. Sommer (Gast)


Lesenswert?

Du musst das Bild auch aus dem JAR laden (mit getResource) und nicht 
einfach nur aus der Datei. Und prüfe auch mal ob das Bild überhaupt in 
der JAR Datei landet (JAR Dateien sind einfach nur umbenannte ZIP 
Dateien, öffne die Datei zB mit 7-Zip).

von Leonie (Gast)


Lesenswert?

Ok, habe nun einen Ordner erstellt, in dem der gleiche Verzeichnisbaum 
herrscht wie in Eclipse.
D.h. ich habe einen Ordner "media" erzeugt, der dann die jeweilige 
jpg-Datei des Logos enthält..

Aber: gibt es denn nichts, was alles in eine einzige Runnable-Jar packt, 
damit man keine Ordner mehr weiterreichen muss, sondern nur noch ein 
einziges JAR-File?

Danke!

von Dr. Sommer (Gast)


Lesenswert?

Leonie schrieb:
> Aber: gibt es denn nichts, was alles in eine einzige Runnable-Jar packt,
> damit man keine Ordner mehr weiterreichen muss, sondern nur noch ein
> einziges JAR-File?
Doch. eclipse packt alles in ein JAR. Du musst es nur auch aus dem JAR 
laden.

von Leonie (Gast)


Lesenswert?

Ok, aber das funktioniert bei mir hier leider nicht :(

Könnt ihr mir helfen?
1
BufferedImage image;
2
    
3
    try 
4
    {
5
      image = ImageIO.read(getClass().getResource("src/logo.jpg"));
6
    } 
7
    
8
    catch (IOException e1) 
9
    {
10
      // TODO Auto-generated catch block
11
      e1.printStackTrace();
12
    }

Fehler:
Exception in thread "main" java.lang.IllegalArgumentException: input == 
null!



Danke!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.