Jar startet nicht

0plan

Bekanntes Mitglied
Ich habe ein kleines Maven Projekt in Eclipse angelegt. Das Programm ist ein einfachaer JFrame mit Panel und Label. Das Label soll ein ImageIcon beinhalten, dieses wird nach der Kompilierung in Eclipse auch sichtbar. Exportier ich das Projekt als JAR, startet es nicht. Ich hatte es schon zum starten bekommen, doch dann war das Image auch nicht sichtbar.

Java:
	public MavenTest(){
		super("Maven Test");
		setSize(300,300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		JPanel panel = new JPanel();
		JLabel label = new JLabel();
		label.setIcon(new ImageIcon(getClass().getClassLoader().getResource("image.jpg")));
		panel.add(label);
		add(panel);
		setVisible(true);
	}
	
	public static void main(String[]args){
		new MavenTest();
	}

Wenn ich die Jar mit Winrar öffne, so sieht die Struktur wie folgt aus:

META-INF
resources (dort ist das Bild auch drin enthalten)
MavenTest.class

Bitte um Hilfe
 

0plan

Bekanntes Mitglied
Wenn ich anstatt .getResource("image.jpg"))); -->>>>>>> getResource("resources/image.jpg"))); nehme, klappts in der JAR jedoch nicht in Eclipse.
 

BlackViruZ

Aktives Mitglied
Hast du dran gedacht die Klasse mit der static void main(String[]) zum Classpath hinzuzufügen in der Plugin Konfiguration vom Maven Archiver ?

Ansonsten lassen sich die jars nicht per "doppelklick" starten, weil in den Metadaten des Jars kein verweis darauf steht.

maven-archiver doku

[XML]<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
</configuration>[/XML]

Wenn das Image nicht sichtbar war, tippe ich darauf, dass du es nicht mit "geliefert" hast, es also nicht mit ins jar gepackt wurde (falls du das so vor hattest).
Um das bei Eclipse zu erwirken, reicht es afair den ordner, in welchem das Bild liegt, als resource ordner zum projekt hinzuzufügen.

Zumindest hatte ich aus dem grund schonmal versehentlich meine junit test reports mit im projekt jar liegen.. XD

#EDIT
Die letzten Zeilen bitte ignorieren.. hab das mit dem Projektaufbau zuspät gelesen, bzw überflogen -.-
 

0plan

Bekanntes Mitglied
Hab den Resource Ordner im Buildpath da müsste ich doch mit
Java:
new ImageIcon(MavenTest.class.getResource("src/main/resources/image.jpg")));
das Bild referenzieren oder nicht?

Beim Exportieren legt Maven den src/main/resources Ordner automatisch als "resources" in der Jar ab. Daher sehe ich das Bild nur wenn ich im Konstruktor auch nur "image.jpg" als Pfad angebe.
 
Zuletzt bearbeitet:

L-ectron-X

Gesperrter Benutzer
Bin mir nicht sicher, weil ich nicht mit Eclipse programmiere und deinen Aufbau der Verzeichnisse nicht kenne.
Aber es sieht erst mal so aus, also würde Folgendes funktionieren:
Java:
new ImageIcon(MavenTest.class.getResource("resources/image.jpg")));
 

0plan

Bekanntes Mitglied
Bin mir nicht sicher, weil ich nicht mit Eclipse programmiere und deinen Aufbau der Verzeichnisse nicht kenne.
Aber es sieht erst mal so aus, also würde Folgendes funktionieren:
Richtig, so funktionierts in der Jar Datei am Ende, jedoch nicht in Eclipse, dort wirft es eine NullPointerException.
 

mvitz

Top Contributor
Poste doch mal einen Screenshot deines Eclipse Projektes.

Normalerweise solltest du das Bild mit
Java:
new ImageIcon(MavenTest.class.getResource("/image.jpg")));
laden können, da maven alles was unter src/main/resources liegt, in den Root des JARs packt. Eclipse sollte eigentlich acuh den Ordner mit in den Build-Path nehmen wodurch obige Zeile dann auch unter Eclipse funktionieren sollte.
 

Michael...

Top Contributor
Hab den Resource Ordner im Buildpath da müsste ich doch mit
Java:
new ImageIcon(MavenTest.class.getResource("src/main/resources/image.jpg")));
das Bild referenzieren oder nicht?
Ich nehme mal an, das main Dein "oberstes" Package ist:
Java:
new ImageIcon(MavenTest.class.getResource("/main/resources/image.jpg")));
 

0plan

Bekanntes Mitglied
Die Verzeichnisstruktur wurde von Maven automatisch so generiert, main ist ein Unterordner der Resourcen für die Javadateien.
 
Zuletzt bearbeitet:

Michael...

Top Contributor
Wie schaut denn die Struktur im jar aus bzw. ist das Bild überhaupt darin enthalten?
Das jar kann man mit z.B. Winzip öffnen und entpacken.
 

mvitz

Top Contributor
Dann hast du das JAR aber definitiv nicht mit Maven gebaut. Wenn du folgendes Eclipse Projekt wirklich mit maven baust, dann sieht es so aus:
Code:
project.jar
+- META-INF
|  `- MANIFEST.MF
+- image.jpeg
`- MavenTest.class

Edit: Evtl. solltest du deine pom.xml auch noch einmal posten.
Edit2: Hab mal ein Beispielprojekt angehängt, bei dem bei mir beides funktionert!
 

Anhänge

  • de.mvitz.test.jf.maven.zip
    8,9 KB · Aufrufe: 1
Zuletzt bearbeitet:

0plan

Bekanntes Mitglied
Das ist nett von dir, meine pom sieht wie folgt aus

[XML]<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.maven.test</groupId>
<artifactId>Maven-Test</artifactId>
<version>1.0.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
</project>[/XML]

sehe da keinen Unterschied
 
Zuletzt bearbeitet von einem Moderator:

0plan

Bekanntes Mitglied
Hab die Jar nochmals mit "package" als goal erstellt, meine Struktur ähnelt deiner jedoch nicht ansatzweise. Ich bin gerade von Sekunde zu Sekunde verwirrter.
 

mvitz

Top Contributor
Laut deinem Screenshot ist dein Projekt aber genau so aufgebaut. Entpacke meines doch einmal und rufe dann darin mvn package auf. Dann kannst du danach ja die beiden JARs mal vergleichen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Programm startet nicht, nur per cmd Allgemeine Java-Themen 5
H .jar Datei startet nicht richtig bei Doppelklick Allgemeine Java-Themen 11
R Tomcat startet nicht Allgemeine Java-Themen 1
S Executable Jar File startet nicht unter Windows 10 Allgemeine Java-Themen 3
0 Code startet nicht (Keine Warnung/Fehlermeldung) Allgemeine Java-Themen 4
C Eclipse Startet einfach nicht Allgemeine Java-Themen 6
A .jar Datei startet nicht Allgemeine Java-Themen 6
S Jar-File startet nicht über doppelklick Allgemeine Java-Themen 2
J Interpreter-Fehler Anwendung startet nicht Allgemeine Java-Themen 5
S jar aus jar startet nicht Allgemeine Java-Themen 9
O Interpreter-Fehler WebStart-Applikation startet nicht Allgemeine Java-Themen 5
T JNLP Aplication startet nicht Allgemeine Java-Themen 17
D Anwendung startet im Remote Desktop nicht Allgemeine Java-Themen 14
G Java Tool startet von heute auf morgen nicht mehr? Allgemeine Java-Themen 7
F problem - jar startet nicht Allgemeine Java-Themen 4
M Jar startet nicht Allgemeine Java-Themen 6
J Programm von CD startet nicht (autorun/autostart/jre Allgemeine Java-Themen 38
A eclipse startet nicht unter Vista 64 Allgemeine Java-Themen 8
D Applet startet nicht, ich verzweifle. Allgemeine Java-Themen 6
A Nach JBuilder Installation - startet nicht Allgemeine Java-Themen 3
G Java Anwendung in Jar startet nicht Allgemeine Java-Themen 7
G JRE startet .class Dateien nicht Allgemeine Java-Themen 6
sambalmueslie Thread startet nicht :-( Allgemeine Java-Themen 2
S Programm über Konsole startet nicht Allgemeine Java-Themen 2
S JNLP startet seit 1.8.0_31 sehr langsam + Windows-Systemverzeichnis Allgemeine Java-Themen 3
M Programm startet sich selbst neu, alte Logfiles bleiben gesperrt Allgemeine Java-Themen 2
B Input/Output Server Startet, Jedoch Kein Output. Allgemeine Java-Themen 1
H Interpreter-Fehler jar startet mit 1.6 java nich Allgemeine Java-Themen 7
K Programm startet nur auf eigenem Rechner??? Allgemeine Java-Themen 6
G LayoutManager Launch4j: Launcher startet nur in Output Directory Allgemeine Java-Themen 4
GilbertGrape Jetty-Dienst startet keine Programme mit Oberfläche Allgemeine Java-Themen 2
A Jar-File startet ohne Aktion und ohne Fehlermeldung Allgemeine Java-Themen 4
G Thread startet nur als Dämon Allgemeine Java-Themen 7
M JTextPane Mausklick auf bestimmte Wörter startet Aktion Allgemeine Java-Themen 8
W Programm startet nur mit der JDK Allgemeine Java-Themen 10
T ^Wenn Java startet wird das Bild unscharf Allgemeine Java-Themen 8
H HashMap in HashMap, klappt nicht, Verständnisproblem Allgemeine Java-Themen 2
kodela ArrayList wird nicht komplett gespeichert Allgemeine Java-Themen 3
kodela HelpSet wird nicht gefunden Allgemeine Java-Themen 8
D Compiler-Fehler Compilierung in VM nicht erfolgreich Allgemeine Java-Themen 10
G WSDL-Aufruf funktioniert nicht mehr nach Umstieg auf Maven Allgemeine Java-Themen 4
H KNN Erkennt Zahl Nicht Allgemeine Java-Themen 7
W ICEpdf PDF-Dateien werden mit Java 21 nicht nicht mehr vollständig dargestellt Allgemeine Java-Themen 3
Zrebna Berechnung der Zeit funktioniert nicht wie erwartet: Date, GregorianCalendar Allgemeine Java-Themen 16
Zrebna Wieso sollte man Null-Prüfungen nicht mit Optional-Objekten nutzen? Allgemeine Java-Themen 13
kodela Textfeld nicht rechteckig Allgemeine Java-Themen 10
G Doppelklick auf Javaprogramm klapt nicht Allgemeine Java-Themen 1
W Timer terminiert nicht Allgemeine Java-Themen 5
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
W Überflüssige Deklaration vermeiden...war da nicht mal was? Allgemeine Java-Themen 3
N lwjgl kann textureSampler nicht finden Allgemeine Java-Themen 4
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
T .Jar kann man nicht ausführen Allgemeine Java-Themen 18
P JDK nicht installiert in Net Object Fusion Allgemeine Java-Themen 7
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
N Regex schlägt nicht an Allgemeine Java-Themen 10
Y Wieso krieg ich die Unit Tests nicht hin Allgemeine Java-Themen 55
D Erste Schritte Mp3 Datei kann nicht von der Festplatte geöffnet werden - mit ChatGPT erstellt Allgemeine Java-Themen 7
G Popup wird nicht sichtbar Allgemeine Java-Themen 9
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
OnDemand ApacheCommon FTP Client zuckt nicht Allgemeine Java-Themen 3
T JavaPoet - (noch) nicht existente Typen Allgemeine Java-Themen 2
E Es ist nicht möglich, eine Batch-Anweisung auszuführen. Allgemeine Java-Themen 9
C Was passt hier nicht bei der Calendar-Class Allgemeine Java-Themen 2
T Testing JUnit5: try ... catch arbeitet nicht sauber Allgemeine Java-Themen 6
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
OnDemand MemoryLeak nicht zu finden Allgemeine Java-Themen 26
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
OnDemand Ram Freigabe erfolgt nicht nach Prozessende Allgemeine Java-Themen 18
OnDemand XML desializing Attribute bringt nicht erwartetes Ergebnis Allgemeine Java-Themen 16
T ImageIcon wird nicht angezeigt Allgemeine Java-Themen 6
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
stormyark TikTakToe funktioniert nicht Allgemeine Java-Themen 10
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
Tiago1234 Hauptklasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 38
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
I "Neues" Lizenzmodell Oracle - JRE nicht mehr zur Redistribution freigegeben? Allgemeine Java-Themen 16
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
A code wird nicht ausgeführt Allgemeine Java-Themen 3
Blender3D Alte Beiträge nicht mehr vorhanden Allgemeine Java-Themen 6
M Warum hat Java dieses und jenes nicht... Allgemeine Java-Themen 8
W Bilder werden in App mit Jar-Datei nicht angezeigt Allgemeine Java-Themen 15
Micha43 Applet *.jar läuft nicht auf dem Mac Allgemeine Java-Themen 8
M Warum bekommen ich den Result nicht ? Allgemeine Java-Themen 17
Kiki01 Häufigster Buchstabe lässt sich nicht ermitteln Allgemeine Java-Themen 30
OnDemand RegEx /compilebekomme nicht die erwarteten Werte Allgemeine Java-Themen 9
HerrBolte Seltsamer Fehler nur in der Windows- und nicht in der Java-Console O_O Allgemeine Java-Themen 16
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
P Karate API Test läuft nicht durch . initializationError Allgemeine Java-Themen 21
N nicht static und auch nicht new Allgemeine Java-Themen 3
Z macOS java konnte nicht entfernt werden xpc verbindungsfehler Allgemeine Java-Themen 4
T Schaltfläche wird nicht gefunden Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben