ich habe ein Problem ???:L undzwar: habe ich ein Programm (GUI) geschrieben und will dies nun in eine .jar Datei packen. Starte ich das Programm im Editor (JavaEditor) läuft alles so wie's soll, erzeuge ich nun eine .jar Datei (füge den Ordner mit den Bildern hinzu) und starte passiert einfach mal garnix. Nicht mal eine Fehlermeldung. So langsam verzeifel ich weil ich niergends eine Lösung finde, hat iwer ne idee?
Wie startest du denn die das ganze? Es wird vermutlich eine Exception fliegen, weil du nicht richtig auf die Bilder zugreifst. Starte deine jar aus der Konsole, dann siehst du die Exception (vorausgesetzt du hast deine leeren catch-Blöcke etc)
ich starte ganznormal mit Doppelklick und erzeuge sie mit der Editorfunktion jar-Datei erzeugen (was eig immer funktioniert). Wie genau starte ich denn per konsole?
Manifest ist drin.
ich füge den ordner nach dem packen der jar datei mmit winrar hinzu. Starte ich das Programm läd er die bilder und alles läuft. starte ich die fertig gepackte jar datei scheind sich diese nicht zuöffenen, nehme ich die bilder jedoch ganz aus dem quelltext raus und packe die datei nue funktioniert alles, nur eben ohne bilder was sehr schade ist.
Vermutlich ist dein "image" ordner nicht als source-folder markiert, sondern einfach nur als Verzeichnis. So wird er von Eclipse nicht mit in die jar gepackt.
Um dem Fehler auf die Spur zu kommen brauchst du die Ausgaben der Java-Konsole. Die werden aber beim Start einer Jar-Datei normalerweise unterdrückt.
Damit du die Fehlermeldungen sehen kannst, solltest du dem Tipp von XHelp folgen (http://www.java-forum.org/769966-post6.html), den er oben bereits geschrieben hatte.
Du kannst für die Eingabe des Befehls die eingebaute Funktion des Java-Editors zum Öffnen einer Kommandozeile nutzen.
Die Kommandozeile kannst du im Dateimenü des Java-Editors unter Fenster -> DOS-Fenster öffnen. Dort hinein tippst du den Befehl, den XHelp gepostet hat. U.U. musst du vorher noch das Verzeichnis zu deiner Jar-Datei wechseln.
So ich habe das jetzt so gemacht wie L-ectron-X das beschrieben hat. Mein Programm startet ganz normal, nur ohnen Bilder und ohnen Fehlermeldung! Wenn ich von da zwei wietere Fenster öffne werden dort alle Bilder angezeigt (Quelltext ist überall der selbe). Nur bei einem weiteren Fenster bekomme ich eine Fehlermeldung wenn ich es öffnen will:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: VokabelH
nzuf³geFenster
at Startfenster.refVokEdit_ActionPerformed(Startfenster.java:237)
at Startfenster$3.actionPerformed(Startfenster.java:100)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1
95)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.ja
a:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonMode
.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:24
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButton
istener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:
72)
at java.awt.Component.processMouseEvent(Component.java:6289)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6054)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4652)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:457
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4482)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
at java.awt.EventQueue.access$000(EventQueue.java:85)
at java.awt.EventQueue$1.run(EventQueue.java:603)
at java.awt.EventQueue$1.run(EventQueue.java:601)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessC
ntrolContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessC
ntrolContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:617)
at java.awt.EventQueue$2.run(EventQueue.java:615)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessC
ntrolContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThr
ad.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread
java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThr
ad.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: VokabelHinzuf³geFenster
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 39 more
Zwei Fragen: Wieso werden Bilder nicht im ersten Fenster angezeigt, in 2 von 3 aber schon? Und warum lässt sich eins aus der jar-Datei garnicht öffnen?
wie doof von mir, dass solte ich mir eig schon längst abgewöhnt haben Naja neuer Fehler: Programm startet jetzt garnicht mehr sondern gibt mit diese Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:16
at Startfenster.<init>(Startfenster.java:14)
at Main.main(Main.java:13)
also das das ganze funktioniert wenn ich es im editor starte muss der pfad richtig sein. Dabei liegen die Klassen im selben Ordner wie der Ordener(images) mit den Bildern. Wenn ich die jar datei erzeuge füge ich danach mit winrar den ordner mit den Bildern hinzu...
im jar file sind die Dateien die der Editor gepack hat (also auch der META-INF-Ordner) und der von mir nachträglich rein kopierter Ordner mit den Bildern. Spielt die Bildart vll eine Rolle?
So ich hab den Fehler gefunden und er war so dämlich, dass es mir eig schon peinlich ist ich hatte einen Buchstabendreher -.- naja jetzt funktioniert alles. Vielen Dank an alle dir mir helfen wollten :applaus: