Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Mal wieder Probleme beim Erstellen eines JARs mit Eclipse
Und zwar habe ich in Eclipse über die Exportfunktion die Anwendung exportiert. In Eclipse läuft das Programm einwandfrei. Das JAR-File läuft allerdings nicht:
Code:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
...
Die entsprechende JAR-Datei mit dem Oracle Treiber steht im Build Path und ich habe auch im erzeugten JAR-File nachgeschaut. Die Datei ojdbc14.jar wird mit in das neue JAR gepackt. Woran liegt es also? Manifest wird auch erzeugt und auch die auszuführende main-Methode gebe ich an.
Und wie bekomme ich die nötigen Dateien (also insbesondere den Oracle DB Treiber) dann in mein JAR rein, so daß es läuft? Ich habe auch schon probiert, das ojdbc14.jar im selben Verzeichnis wie das Anwendungs-JAR abzulegen aber auch das funktioniert nicht...
Die nötigen externen Jars müssen im Classpath sein. Du kannst z.B. den Classpath im Manifest setzen oder als Parameter beim Aufruf angeben. Wurde hier glaub ich schon 2^10 mal besprochen.
Dann lieferst Du die jars zusammen aus und es funktioniert. Du kannst zum Beispiel ANT benutzen, um deine Jars zu bauen (oder das oben beschrieben Plugin benutzen)
Code:
<project name="meinbuildfile" default="" basedir=".">
<description>
Ant tasks for this project
</description>
<target name="jar">
<jar destfile="wo/soll/das/jar/hin/meinjar.jar"
baseDir="./bin/"
manifest="./manifest.mf"/>
</target>
</project>
Ich habe heute den ganzen Tag mit dem fatjar rumexperimentiert und bekomme es nicht zum laufen.
Das progamm läuft zwar, aber alle Bilder die im Programm benutzt werden werden nicht mehr angezeigt.
Und eine zweite Frage:
Wie gibt man der erzeugten Jar das ganze JRE mit, so dass es per Doppelklick überall ausführbar ist.
Mein Ziel ist es:
- nach Möglichkeit Alles in eine JAR zu packen und es soll zentral auf einem Server liegen und von dort
ausführbar sein.
Meine Projekt-Struktur (es sind natürlich mehr Dateien in den einzelnen Ordnern drin)
Wenn du mit Ressourcen die Bilder meinst, dann hebe ich auch soeben einen Tip bekommen.
Ich habe die Bilder mit File.getAbsoluthPath() geladen, aber dass ich wohl anders machen habe ich gelesen.
Irgendwie mit getRessource oderso. Werde ich mir morgen anlesen müssen.
Aber auf meine Frage zurückzukommen wegen dem JRE mitgeben.
Kann man es irgendwie in ein Jar packen und zwar so, dass es beim doppelklick auf .jar verwendet wird ?
Gerade eben habe ich mir ein 3Zeiliges vb skript abgeschrieben, der eine gewöhnliche starteJar.bat ausführt aber das Konsolenfenster nicht öffnet, so kann ich wenigstens meine JRE verwenden
Bedenke, dass ich mein JavaProg von einer NetzwerkFreigabe laufen lassen möchte, ohne bei jedem Client Java installieren zu müssen.
1. nein, es geht definitiv nicht. Ein jar ist nichts anderes als ein zip. Lediglich die Verknüpfung zu einer JRE lässt es 'ausführbar' werden
2. etwa 98% aller Rechner haben bereits eine JRE installiert
3. würde dein Programm zur Bloatware werden wenn du jedem Client noch eine 120MB JRE verpasst