Atlanx
Mitglied
Hallo an alle.
Ich versuche jetzt seit 2 Tagen mein Projekt in ein ausführbares JAR-File zu packen.
[Eclipse 3.0, Java 1.4.2_04]
Ersteinmal die gute Nachricht: In Eclipse lässt es sich wunderbar ausführen.
Also, Eclipse scheint nicht fähig zu sein damit ein ausführbare JAR-File zu erstellen
und natürlich hab ich auch schon die Beiträge in diesem Forum dazu gelesen und mich mit Google vergnügt, aber das hat mich leider auch nicht weiter gebracht.
Also, ich hatte 2 Möglichkeiten:
1: Von Hand mit einem Manifest
2. Per ANT mit einem build.xml
( Anleitung hier im Forum )
Ich hab mich jetzt für die 1 entschieden, da 2 zwar wunderschön ohne Fehler kompiliert, aber dann trotzdem nicht funktioniert und die Fehlermeldung keine Anhaltspunkte liefert (Fatal Exception occured).
So, ersteinmal die Struktur meines Projektes:
Inhalt der manifest.mf
Die Klasse test2.java enhält alle Methoden und die Mainklasse:
Also, bin jetzt in das src Verzeichnis gewechselt und hab das ganze mal übersetzt:
javac de/transview/test2.java
Dann das JAR-File erzeugt:
jar cvfm transview.jar ../meta/manifest.mf de images
Dann nach D:\ kopiert und ausgeführt:
java -jar transview.jar
Folgende schöne Fehlermeldung erscheint:
A und B hab ich zur Fehlersuche eingebaut, wobei
B: von
A: von
kommt.
Also, wie gesagt, unter Eclipse kann ich damit ohne Probleme auf die Bilder zugreifen, aber sobald die in dem JAR-File stecken, findet das Javaprogramm die anscheinend nicht mehr.
Man beachte das schöne ! zwischen .../transview.jar!/images....
Wie kann ich auf die Bilder zugreifen, wenn sie im JAR-File drin sind?
Wenn Du einen Vorschlag hast, und sei er noch so klein oder abwegig. Bitte schreib
ihn hier rein. Ich weiß jetzt jedenfalls nicht mehr weiter.
MfG Atlanx
Ich versuche jetzt seit 2 Tagen mein Projekt in ein ausführbares JAR-File zu packen.
[Eclipse 3.0, Java 1.4.2_04]
Ersteinmal die gute Nachricht: In Eclipse lässt es sich wunderbar ausführen.
Also, Eclipse scheint nicht fähig zu sein damit ein ausführbare JAR-File zu erstellen
und natürlich hab ich auch schon die Beiträge in diesem Forum dazu gelesen und mich mit Google vergnügt, aber das hat mich leider auch nicht weiter gebracht.
Also, ich hatte 2 Möglichkeiten:
1: Von Hand mit einem Manifest
2. Per ANT mit einem build.xml
( Anleitung hier im Forum )
Ich hab mich jetzt für die 1 entschieden, da 2 zwar wunderschön ohne Fehler kompiliert, aber dann trotzdem nicht funktioniert und die Fehlermeldung keine Anhaltspunkte liefert (Fatal Exception occured).
So, ersteinmal die Struktur meines Projektes:
Code:
Transviewer
|
| -- doc
| -- bin
| -- meta -- manifest.mf
| -- src
|
| -- images
| -- de
| -- transview
|
| -- test2.java
| -- helpfile.html
| -- trans.ini
Inhalt der manifest.mf
Code:
Manifest-Version: 1.0
Main-Class: de.transview.test2
Die Klasse test2.java enhält alle Methoden und die Mainklasse:
Code:
"Auszug":
package de.transview;
import java................
public class test2 extends JFrame implements ActionListener { ..
Also, bin jetzt in das src Verzeichnis gewechselt und hab das ganze mal übersetzt:
javac de/transview/test2.java
Dann das JAR-File erzeugt:
jar cvfm transview.jar ../meta/manifest.mf de images
Dann nach D:\ kopiert und ausgeführt:
java -jar transview.jar
Folgende schöne Fehlermeldung erscheint:
Code:
B:class de.transview.test2
A:jar:file:/D:/transview.jar!/images/icon16x16.png
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at de.transview.MyMenu.<init>(test2.java:2782)
at de.transview.test2.<init>(test2.java:278)
at de.transview.test2.main(test2.java:223)
A und B hab ich zur Fehlersuche eingebaut, wobei
B: von
Code:
System.out.println("B:"+ getClass());
Code:
System.out.println("A:"+ getClass().getResource( "/images/icon16x16.png") );
Also, wie gesagt, unter Eclipse kann ich damit ohne Probleme auf die Bilder zugreifen, aber sobald die in dem JAR-File stecken, findet das Javaprogramm die anscheinend nicht mehr.
Man beachte das schöne ! zwischen .../transview.jar!/images....
Wie kann ich auf die Bilder zugreifen, wenn sie im JAR-File drin sind?
Wenn Du einen Vorschlag hast, und sei er noch so klein oder abwegig. Bitte schreib
ihn hier rein. Ich weiß jetzt jedenfalls nicht mehr weiter.
MfG Atlanx
Zuletzt bearbeitet: