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
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.
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
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
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
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
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
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.
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
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.
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
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
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 ...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden