Zum Inhalt springen

Jar erstllen, leider mit Problemen!


Empfohlene Beiträge

Geschrieben

Hallo beisammen,

Ich habe ein Problem mit der Erstellung von JAR-Filse. Also erstmal kurze Einführung:

Ich schreibe mir ein Filmverwaltungsprogramm mit MySQL-Datenbank. Dafür habe ich den

"mysql-connector-java-5.0.7-bin.jar"

in mein Projekt mit eingebunden. Nebenbei arbeite ich mit Eclipse 3.2.2. Nun mache ich einen Rechtsklick auf mein Projekte und sage "Export - JAR File". Dann habe ich im darauffolgenden Fenster schon beide Möglichkeiten ausprobiert:

- "Export generated class files and resources" (= JAR-File enthält keinen mysql-connector)

- "Export all output folders for checked projects (= JAR-File enthält mysql-connector

Im nächsten Fenster gebe ich nun die Main-Class für die MANIFEST-Datei an und sage

"Seal the JAR"

Als letztes nun bestätige ich mit "Finish" und mein JAR wird mir am Desktop erstellt. Wenn ich das Ding nun starte (Doppelklick) passiert nichts. Ich denke das das JAR-File irgendwie keinen Datenbankzugriff hat, bzw, nicht weis, über oder mit was er die Verbindung zur Datenbank herstellen soll.

Hier noch einen kurzen Ueberblick ueber meine Programmstruktur: *klick*

Die Ordner "images16, images24, images32 und images48" enthalten *.png Dateien.

Was muss ich tun, ich verzweifle schon!

:(:(:(

Greetz

Geschrieben

Wenn ich das Ding nun starte (Doppelklick)
Ein jar-file wird nicht per Doppelklick gestartet sondern ober ein eigenes Skript. So aus dem Gedächtnis sollte das so aussehen:
java -cp pfad\zu\deinem\jar.jar -jar der.name.deines.packages.KlasseMitMainMethode

Dim

Geschrieben

In deinem Ordner sollte sich unter META-INF eine Manifest.MF befinden.

Ordnerstruktur:


Blakecks.jar

 |

 |

 --> lib

       |

       --> mysql-connector-java-5.0.7-bin.jar


 |

 --> META-INF

          |

          --> MANIFEST.MF

Inhalt MANIFEST.MF:

Manifest-Version: 1.0

Main-Class: test.DieKlasseMitMainMethode

Class-Path: lib/mysql-connector-java-5.0.7-bin.jar

Versuchs zur not mal hiermit:

Lesson: Packaging Programs in JAR Files (The Java™ Tutorials > Deployment)

Grüße Steve

Geschrieben
Hmm,

ich hab' noch keine Lib in mein JAR-File eingebunden. Aber ist ja auch egal. An Deiner Stelle würde ich ein eigenes ANT-Buildscript basteln, das alle nötigen Schritte durchführt.

ok, thx was ist ein ANT-Script???

Greetz

Geschrieben
In deinem Ordner sollte sich unter META-INF eine Manifest.MF befinden.

Ordnerstruktur:


Blakecks.jar

 |

 |

 --> lib

       |

       --> mysql-connector-java-5.0.7-bin.jar


 |

 --> META-INF

          |

          --> MANIFEST.MF

Inhalt MANIFEST.MF:

Manifest-Version: 1.0

Main-Class: test.DieKlasseMitMainMethode

Class-Path: lib/mysql-connector-java-5.0.7-bin.jar

Versuchs zur not mal hiermit:

Lesson: Packaging Programs in JAR Files (The Javaâ„¢ Tutorials > Deployment)

Grüße Steve

ich hab jetzt mal genau diese struktur von dir übernommen: *klick*

aber irgendwie tut sich da noch immer nichts

Geschrieben
aber irgendwie tut sich da noch immer nichts

dann solltest du, wie dr.dimitri angegeben hat, das ganze mal mit java über die commandline aufrufen. du wirst dann sicher eine fehlermeldung, jedenfalls aber etwas mehr als *nichts* bekommen.

s'Amstel

Geschrieben
ich hab jetzt mal genau diese struktur von dir übernommen: *klick*

aber irgendwie tut sich da noch immer nichts

hast du mal probiert das ganze so in die Kommandozeile einzugeben:

java -jar Movies.jar

Wenn beim Doppelklick nichts passiert, müsste er hier zumindest eine Fehlermeldung ausgeben...

Achja, lass mal das sealed true raus und schau was als Ergebnis rauskommt.

EDIT sagt: Entpack mal das Jar mit winzip, oder winrar und schau bitte wie die Ordnerstruktur aussieht. evlt. übernimmt Eclipse auch den Inhalt der METAINF.MF nicht richtig in das die jar.

Geschrieben
hast du mal probiert das ganze so in die Kommandozeile einzugeben:

java -jar Movies.jar

Wenn beim Doppelklick nichts passiert, müsste er hier zumindest eine Fehlermeldung ausgeben...

Achja, lass mal das sealed true raus und schau was als Ergebnis rauskommt.

EDIT sagt: Entpack mal das Jar mit winzip, oder winrar und schau bitte wie die Ordnerstruktur aussieht. evlt. übernimmt Eclipse auch den Inhalt der METAINF.MF nicht richtig in das die jar.

ok, da kommt jetzt wenigstens schon ne fehlermeldung: *klick*

ich schätz ma der findet den mysql-connector nicht. Egal ob ich sealed drin oder nicht drin stehen habe, die fehlermeldung kommt leider immer.

mit den Kommandozeilenbefehlen kann ich nicht so viel anfangen, weil ich noch anfänger bin ... son tut wär vll nicht schlecht

Geschrieben

Das kann jetzt mehrere Möglichkeiten haben:

  • du musst nach lib/mysql-connector-java-5.0.7-bin.jar ein Leerzeichen machen.
  • du hast die ordnerstruktur nicht richtig übernommen

mehr Möglichkeiten gibt es meines Wissens nicht. Entpack bitte mal die JMovieHandler.jar und sieh nach ob alles am dem Platz ist, so wie ich es beschrieben habe. Vermute mal stark, dass die mysql-connector-java-5.0.7-bin.jar zwar da, aber nicht im lib Ordner ist. Kannst du das bitte mal prüfen.

Geschrieben
Das kann jetzt mehrere Möglichkeiten haben:

  • du musst nach lib/mysql-connector-java-5.0.7-bin.jar ein Leerzeichen machen.
  • du hast die ordnerstruktur nicht richtig übernommen

mehr Möglichkeiten gibt es meines Wissens nicht. Entpack bitte mal die JMovieHandler.jar und sieh nach ob alles am dem Platz ist, so wie ich es beschrieben habe. Vermute mal stark, dass die mysql-connector-java-5.0.7-bin.jar zwar da, aber nicht im lib Ordner ist. Kannst du das bitte mal prüfen.

ok, also auf meinem desktop schauts jetzt so aus (Ordner images & lib) außerhalb der .jar-Datei: *klick*

jetzt kann ich das schöne ding auch starten, aber eigentlich wärs mir lieber wenn er die ordner lib und images aus dem jar liest und nicht extra außerhalb liegen müssen. oder welche lösung ist da jetzt sauberer???

was (sollte) man eigentlich in .jar Archive wirklich packen???

Greetz

Geschrieben

Da liegt glaube ich das Grundlegende Problem an einer Jar. So wie ich das aus dem Tutorial rausgelesen haben funktioniert es leider nicht, wenn man die Jars in eine größere Jar packt.

Ich für meinen Teil, würde den Code den ich geschrieben habe immer in Jars packen, da ich so gewährleisten kann, dass alles was ich brauche auch dabei ist. Das glaube ich ist reine Geschmackssache. Lass mich in der Hinsicht aber auch eines besseren belehren.

Grüße

Steve

Geschrieben
Da liegt glaube ich das Grundlegende Problem an einer Jar. So wie ich das aus dem Tutorial rausgelesen haben funktioniert es leider nicht, wenn man die Jars in eine größere Jar packt.

Ich für meinen Teil, würde den Code den ich geschrieben habe immer in Jars packen, da ich so gewährleisten kann, dass alles was ich brauche auch dabei ist. Das glaube ich ist reine Geschmackssache. Lass mich in der Hinsicht aber auch eines besseren belehren.

Grüße

Steve

hört sich doch ganz vernünftig an die aussage ...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...