DreamSaTaN Geschrieben 15. November 2007 Geschrieben 15. November 2007 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 Zitieren
geloescht_Newlukai Geschrieben 15. November 2007 Geschrieben 15. November 2007 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. Zitieren
dr.dimitri Geschrieben 16. November 2007 Geschrieben 16. November 2007 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 Zitieren
Oortael Geschrieben 16. November 2007 Geschrieben 16. November 2007 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 Zitieren
DreamSaTaN Geschrieben 19. November 2007 Autor Geschrieben 19. November 2007 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 Zitieren
DreamSaTaN Geschrieben 19. November 2007 Autor Geschrieben 19. November 2007 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 Zitieren
Amstelchen Geschrieben 19. November 2007 Geschrieben 19. November 2007 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 Zitieren
Oortael Geschrieben 19. November 2007 Geschrieben 19. November 2007 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. Zitieren
DreamSaTaN Geschrieben 19. November 2007 Autor Geschrieben 19. November 2007 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 Zitieren
Oortael Geschrieben 19. November 2007 Geschrieben 19. November 2007 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. Zitieren
DreamSaTaN Geschrieben 20. November 2007 Autor Geschrieben 20. November 2007 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 Zitieren
Oortael Geschrieben 20. November 2007 Geschrieben 20. November 2007 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 Zitieren
DreamSaTaN Geschrieben 20. November 2007 Autor Geschrieben 20. November 2007 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 ... Zitieren
Empfohlene Beiträge
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.