Mysql-treiber in jar-archiv

elturco9

Grünschnabel
Hallo erst mal,

ich habe eine Anwendung programiiert, die ganz toll funktioniert, falls ich sie von CMD aus per
Code:
javac *.java
und
Code:
java StartSaving
aufrufe. ?m Code habe ich folgende Zeile, damit ich Verbindung zu MySQL herstelle:
Code:
Class.forName("org.gjt.mm.mysql.Driver").newInstance();

Nun das Problem ist, ich weiß nicht, wie ich diesen Treiber in das JAR-Archiv hineinpacke. ?ch habe es folgendermaßen versucht:
Code:
jar -cvfm Saving.jar Manifest.txt StartSaving.class SavingVisual.class mysql-connector-java-5.1.10-bin.jar
hat aber nicht geklappt.

Mein Manifest sieht so aus:
Code:
Manifest-Version: 1.0
Main-Class: StartSaving

Ich benutze JAVA-Version: 1.6.0_16

Vielen Dank im Voraus...
 
Was für eine IDE benutzt du ?

Meine Manifest sieht so aus:

Manifest-Version: 1.0
Class-Path: DeinTreiber.jar
Main-Class: DeinProgName
Source-Path: . (ENTER drücken nicht vergessen)



Von der Konsole aus geht das glaube ich nicht. Du müsstest deine Treiber.jar erst entpacken und dann wieder alles zusammen packen.

Falls du eclipse benutzt, dann gibt es dort das PlugIn "FatJar" und der macht das dann für dich. Aber ich würde keine Jar in Jar packen. Lieber deinen Treiber in einem Extra Ordner ausserhalb der Programm.jar.
 
Zuletzt bearbeitet:
Ich benutze zwar eclipse, aber das Erstellen von JAR-Archiven habe ich per eclipse nicht geschafft. Deswegen mache ich es immer per CMD.

sabek hat gesagt.:
Lieber deinen Treiber in einem Extra Ordner ausserhalb der Programm.jar.
Und wie mache ich das?
 
Hallo,

um ein Projekt in eclipse als Jar zu exportieren, klickst du einfach mir der rechten Maustaste auf das Projekt und wählst export. Da kannst du dann im Ordner Java Jar aussuchen. Dann musst du nur noch alles markieren, was exportiert werden soll und das wars.


Du kannst ein Jar nicht in ein anderes Jar packen. Also du kannst es schon, aber es wird nicht erkannt. Es gibt aber ein Plugin FatJar für eclipse, da funktioniert das.

Eine andere Möglichkeit ist halt, deine Jars, die du brauchst, in einen Ordner zu legen. Du kannst entweder das Jar im gleichen Verzeichnis ablegen, wie dein erstelltes Jar oder in einem Unterordner von dem Ordner in dem dein Jar liegt. Dann musst du allerdings in dem Manifest den Classpath angeben, wie sabek es gezeigt hat.

Gruß

Sascha
 
Manifest-Version: 1.0
Class-Path: DeinTreiber.jar
Main-Class: DeinProgName
Source-Path: . (ENTER drücken nicht vergessen)

Eine andere Möglichkeit ist halt, deine Jars, die du brauchst, in einen Ordner zu legen. Du kannst entweder das Jar im gleichen Verzeichnis ablegen, wie dein erstelltes Jar oder in einem Unterordner von dem Ordner in dem dein Jar liegt. Dann musst du allerdings in dem Manifest den Classpath angeben, wie sabek es gezeigt hat.

Vielen Dank für Ihre Hilfe. Auf dieser Art und Weise habe ich es geschafft.

Schönen Abend noch...
 
Zurück