Mit Ant erstelltes jar funktioniert nicht wie direkt in Eclipse

Hans_Steiger

Mitglied
Hallo,

ich arbeite an einem Projekt, in welchem ich auf eine MySQL Datenbank zugreife. Wenn ich das Projekt über Eclipse ausführe funktioniert alles wunderbar. Nun habe ich zum ersten mal versucht, ein Jar zu erstellen. Das erstellen funktioniert, aber wenn ich das jar starte funktioniert die Datenbankanbindung nicht. Ich erhalte folgenden Fehler:

Java:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.eteks.sweethome3d.SweetHome3DBootstrap.main(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
at com.mysql.jdbc.Util.stackTraceToString(Util.java:355)
at com.mysql.jdbc.Util.<clinit>(Util.java:120)
at com.mysql.jdbc.NonRegisteringDriver.parseURL(NonRegisteringDriver.java:729)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:296)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.eteks.sweethome3d.io.Database.connect(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.monitoringModeLoader(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.init(Unknown Source)
at com.eteks.sweethome3d.SweetHome3D.main(Unknown Source)
... 5 more
Caused by: java.lang.RuntimeException: Can't load resource bundle due to underlying exception java.util.MissingResourceException: Can't find bundle for base name com.mysql.jdbc.LocalizedErrorMessages, locale fr_FR
at com.mysql.jdbc.Messages.<clinit>(Messages.java:61)
... 15 more
Caused by: java.util.MissingResourceException: Can't find bundle for base name com.mysql.jdbc.LocalizedErrorMessages, locale fr_FR
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:705)
at com.mysql.jdbc.Messages.<clinit>(Messages.java:59)
... 15 more

Ich habe das ganze schon unter Windows und Mac und mit verschiedenen Kombinationen von JDBC und JRE ausprobiert.

Hat jemand eine Idee, woran das liegen könnte?

Viele Grüße
 

Deros

Bekanntes Mitglied
meine glaskugel sagt mir das in deinem ant-script die properties-datei mit dne zugangsdaten zur db nicht mitkopiert wurde
 

Hans_Steiger

Mitglied
Die Zugangsdaten sind direkt per String in der java Datei hinterlegt.

Wenn ihr Code braucht wäre es gut, wenn ihr mir sagen würdet von welchen Stellen. Ich möchte euch hier ungern mit Code zu spammen.
 

Hans_Steiger

Mitglied
Also die in der Build.xml zugeordnete manifest ist völlig leer:

Java:
Manifest-Version: 1.0 
Created-By: 1.5 (Sun Microsystems, Inc)
Main-Class: com.eteks.sweethome3d.SweetHome3DBootstrap

Aber das in dem Projekt noch andere Libraries sind und diese Funktionieren gehe ich davon aus, dass die irgendwie anders eingebunden werden. Aber ich kann mal probieren sie der manifest hinzuzufügen. Wie funktioniert das?

Hier noch die build.xml:
[XML] <?xml version="1.0"?> <!-- build.xml Sweet Home 3D, Copyright (c) 2007- - Pastebin.com
 

Deros

Bekanntes Mitglied
hast die jar mla entpackt und geguckt was jetzt wirklich drin geladet ist?

min im manifest wäre was richtung:
[XML]Manifest-Version: 1.0
Rsrc-Class-Path: ./ javax.persistence_2.0.0.jar jgraphx.jar jdbcblabla.jar
eclipselink.jar
Class-Path: .
Rsrc-Main-Class: de.firma.projekt.Klasse
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader

[/XML]
 
Zuletzt bearbeitet:

Hans_Steiger

Mitglied
Das Manifest in der jar sieht genauso aus wie das oben. Wenn ich das jetzt richtig verstehe werden die Klassen dynamisch zur Laufzeit geladen:

Java:
/*
 * SweetHome3DBootstrap.java 2 sept. 07
 *
 * Sweet Home 3D, Copyright (c) 2007 Emmanuel PUYBARET / eTeks <info@eteks.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
package com.eteks.sweethome3d;

import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import com.eteks.sweethome3d.tools.ExtensionsClassLoader;

/**
 * This bootstrap class loads Sweet Home 3D application classes from jars in classpath 
 * or from extension jars stored as resources.
 * @author Emmanuel Puybaret
 */
public class SweetHome3DBootstrap {
  public static void main(String [] args) throws MalformedURLException, IllegalAccessException, 
        InvocationTargetException, NoSuchMethodException, ClassNotFoundException {
    Class sweetHome3DBootstrapClass = SweetHome3DBootstrap.class;
    List<String> extensionJarsAndDlls = new ArrayList<String>(Arrays.asList(new String [] {
        "iText-2.1.7.jar", // Jars included in Sweet Home 3D executable jar file 
        "freehep-vectorgraphics-svg-2.1.1.jar",
        "Loader3DS1_2u.jar",
        "sunflow-0.07.3g.jar",
        "jmf.jar",
        "batik-svgpathparser-1.7.jar",
        "jnlp.jar",
        "jcommon-1.0.17.jar", //Monitoring Mode jars
        "jfreechart-1.0.17.jar",
        "mysql-connector-java-5.1.18-bin.jar",
        "j3dcore.jar", // Main Java 3D jars
        "vecmath.jar",
        "j3dutils.jar",
        "macosx/gluegen-rt.jar", // Mac OS X jars and DLLs
        "macosx/jogl.jar",
        "macosx/libgluegen-rt.jnilib",
        "macosx/libjogl.jnilib",
        "macosx/libjogl_awt.jnilib",
        "macosx/libjogl_cg.jnilib" }));
    if ("64".equals(System.getProperty("sun.arch.data.model"))) {
      extensionJarsAndDlls.add("linux/x64/libj3dcore-ogl.so"); // Linux 64 bits DLLs
      extensionJarsAndDlls.add("windows/x64/j3dcore-ogl.dll"); // Windows 64 bits DLLs
    } else {
      extensionJarsAndDlls.add("linux/i386/libj3dcore-ogl.so"); // Linux 32 bits DLLs
      extensionJarsAndDlls.add("linux/i386/libj3dcore-ogl-cg.so"); // Windows 32 bits DLLs
      extensionJarsAndDlls.add("windows/i386/j3dcore-d3d.dll");
      extensionJarsAndDlls.add("windows/i386/j3dcore-ogl.dll");
      extensionJarsAndDlls.add("windows/i386/j3dcore-ogl-cg.dll");
      extensionJarsAndDlls.add("windows/i386/j3dcore-ogl-chk.dll");
    }
    
    String [] applicationPackages = {
        "com.eteks.sweethome3d",
        "javax.media",
        "javax.vecmath",
        "com.sun.j3d",
        "com.sun.opengl",
        "com.sun.gluegen.runtime",
        "javax.media.opengl",
        "com.sun.media",
        "com.ibm.media",
        "jmpapps.util",
        "com.microcrowd.loader.java3d",
        "org.sunflow",
        "org.apache.batik",
        "com.mysql.jdbc"};
    ClassLoader java3DClassLoader = new ExtensionsClassLoader(
        sweetHome3DBootstrapClass.getClassLoader(), 
        sweetHome3DBootstrapClass.getProtectionDomain(),
        extensionJarsAndDlls.toArray(new String [extensionJarsAndDlls.size()]), applicationPackages);  
    
    String applicationClassName = "com.eteks.sweethome3d.SweetHome3D";
    Class applicationClass = java3DClassLoader.loadClass(applicationClassName);
    Method applicationClassMain = 
      applicationClass.getMethod("main", Array.newInstance(String.class, 0).getClass());
    // Call application class main method with reflection
    applicationClassMain.invoke(null, new Object [] {args});
  }
}

Dort habe ich auch die von mir verwendeten Bibliotheken hinzugefügt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y Wie kann ich ein erstelltes JPanel meinem Frame hinzufügen? Allgemeine Java-Themen 1
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
M Text in erstelltes Excelfile schreiben Allgemeine Java-Themen 6
L Per IText erstelltes PDF automatisch drucken Allgemeine Java-Themen 13
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
stormyark TikTakToe funktioniert nicht Allgemeine Java-Themen 10
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
Lukas2904 Wie funktioniert ein KeyLogger? Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
1Raini Java if-Abfrage funktioniert nicht! Allgemeine Java-Themen 3
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
I Wieso funktioniert das nich? Allgemeine Java-Themen 5
Dann07 MP3 Datei abspielen funktioniert nicht Allgemeine Java-Themen 6
O Aus JAR-Datei erstellte EXE-Datei funktioniert nicht Allgemeine Java-Themen 10
A Mp3 Player funktioniert nicht Allgemeine Java-Themen 0
X JNA funktioniert nicht mehr Allgemeine Java-Themen 4
bueseb84 FolderWatcher mit WatchService funktioniert nur bedingt Allgemeine Java-Themen 5
Drachenbauer Division mit Int funktioniert nicht Allgemeine Java-Themen 3
O docx-Datei erzeugung mit DocXStamper funktioniert nicht Allgemeine Java-Themen 2
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
T Split() Methode funktioniert nicht?! Allgemeine Java-Themen 11
L Tesseract-OCR 4.0 unter Linux funktioniert nicht Allgemeine Java-Themen 3
J Wie konkret funktioniert das Modulsystem unter Java 11? Allgemeine Java-Themen 4
J Neuronales Netz funktioniert mal und mal nicht. Allgemeine Java-Themen 3
T Umlaute in Eclipse einlesen funktioniert nicht Allgemeine Java-Themen 16
A Methodenaufruf funktioniert nicht richtig Allgemeine Java-Themen 5
C WindowBuilder Design funktioniert nicht Allgemeine Java-Themen 0
J FTPSClient funktioniert nicht Allgemeine Java-Themen 4
H IDEA IntelliJ Java Mail funktioniert nach Export nicht mehr! Allgemeine Java-Themen 1
M Operatoren Warum funktioniert diese überprüfung nicht? Allgemeine Java-Themen 7
R jar-Datei funktioniert nicht Allgemeine Java-Themen 2
E Open Declaration Funktioniert nicht Allgemeine Java-Themen 0
R Verschlüsselung funktioniert nicht Allgemeine Java-Themen 5
RalleYTN requires transitive funktioniert nicht? Allgemeine Java-Themen 7
R Bruteforce hashes mit multithreading. Funktioniert das so? Allgemeine Java-Themen 0
P Best Practice Wieso funktioniert der Modulo - Operator nicht? Allgemeine Java-Themen 2
HarleyDavidson Eigener PropertyChangeListener funktioniert einfach nicht Allgemeine Java-Themen 3
J Exclude funktioniert nicht Allgemeine Java-Themen 2
K .jar funktioniert nicht vollständig Allgemeine Java-Themen 1
P Java https proxy (-Dhttps.proxyHost) Start-Parameter funktioniert nicht? Allgemeine Java-Themen 2
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
O Fahrenheit/Celsius Converter funktioniert nicht Allgemeine Java-Themen 2
M Serialisierung funktioniert nicht Allgemeine Java-Themen 9
D Collections.sort funktioniert nicht in exportierten .class Dateien Allgemeine Java-Themen 10
J Arrays auf gleichheit untersuchen funktioniert nicht Allgemeine Java-Themen 11
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
H Timer funktioniert nicht? Allgemeine Java-Themen 3
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
O Mein JButton Array funktioniert nicht Allgemeine Java-Themen 3
R Erste Schritte Object reference funktioniert nicht. Wie mach ichs richtig? Allgemeine Java-Themen 3
J If Abfrage funktioniert nicht Allgemeine Java-Themen 4
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
U PersistenceManager.createEntityManager funktioniert nicht Allgemeine Java-Themen 3
D Java Datei nach Eclipse Export funktioniert nicht Allgemeine Java-Themen 0
M Eigene forEach()-Methode funktioniert nicht. Allgemeine Java-Themen 2
H File.listFiles() funktioniert nicht... Allgemeine Java-Themen 10
JG12111989 Auswertung von Fragebogen funktioniert nicht! Allgemeine Java-Themen 7
M Primzahlberechnung funktioniert nicht. Allgemeine Java-Themen 4
A JFreeChart funktioniert nicht :( Allgemeine Java-Themen 6
C file.delete() funktioniert bei zweiten aufruf nicht mehr Allgemeine Java-Themen 3
F Datei einlesen funktioniert nicht Allgemeine Java-Themen 3
A Debugger im Java-Editor funktioniert nicht Allgemeine Java-Themen 5
B DB-Zugriff einer Webanwendung funktioniert nicht mit Java 7 Allgemeine Java-Themen 2
B Web-Anwendung funktioniert mit Java 1.8, aber nicht mit Java 1.7 (auf Client) Allgemeine Java-Themen 5
J Swing Cursor.WAIT funktioniert nicht nach JFileChooser Allgemeine Java-Themen 1
P Wie funktioniert das Feedback eines Klicks auf eine Java GUI Allgemeine Java-Themen 10
F JTextField funktioniert nicht Allgemeine Java-Themen 6
Athena Programm funktioniert nur beim Debugging korrekt, sonst nicht. Allgemeine Java-Themen 1
S CSV Eintrag der nächsten Zeile auslesen funktioniert nicht Allgemeine Java-Themen 8
S Command funktioniert in Kommandzeile aber nicht mit ProcessBuilder bzw. Runtime.exec auf MAC Allgemeine Java-Themen 3
G Verschlüsselungsalgorythmus funktioniert nicht Allgemeine Java-Themen 2
buggy84 Ausführen einer Batch mit Parameterübergabe funktioniert nicht richtig Allgemeine Java-Themen 18
G Befehl funktioniert in Eclipse allerdings nicht in einer Jar-Datei Allgemeine Java-Themen 3
N Werte aus Arrays auslesen funktioniert nicht Allgemeine Java-Themen 5
W getResources funktioniert nur in Eclipse, nicht in JAR Allgemeine Java-Themen 2
S Methode funktioniert nicht als ActionListener Allgemeine Java-Themen 4
M exec() funktioniert nicht Allgemeine Java-Themen 1
M RC4-Chiffre (funktioniert eingeschränkt) Allgemeine Java-Themen 6
X Datentypen Dropzone.options funktioniert nicht Allgemeine Java-Themen 1
D Java funktioniert nur mit deaktivierter Grafikkarte Allgemeine Java-Themen 3
L Erste Schritte Eclipse und Lokal funktioniert - in HTML nicht! Allgemeine Java-Themen 2
K MD5 funktioniert nicht korrekt !? Allgemeine Java-Themen 9
M JAR Datei erstellen funktioniert nicht Allgemeine Java-Themen 5
Q JLabel Textausgabe funktioniert nicht Allgemeine Java-Themen 4
E SimpleDateFormat-Konvertierung funktioniert nicht Allgemeine Java-Themen 3
T Dateidownload Funktioniert nicht Allgemeine Java-Themen 4
C Wie funktioniert Projektplanung? Allgemeine Java-Themen 18
K String.replace funktioniert nicht Allgemeine Java-Themen 3
G treeMap.putall funktioniert nicht?! Allgemeine Java-Themen 2
DaniSahne96 Threads Code funktioniert nicht wie er sollte Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben