MySQL in .jar: was ist an diesem Manifest falsch?

Status
Nicht offen für weitere Antworten.

zubi

Aktives Mitglied
Hallo,

ich will meine Applikation (welche Zugriff auf MySQL-DB hat) aus einem .jar-Archiv starten und habe dafür die JDBC-Treiber ins .jar-File reingetan (genauer in den ordner "src", wo auch alle anderen Klassen liegen).

Das Package ist also "src", und mein Manifest sieht folgendermassen aus:

Manifest-Version: 1.0
Class-Path: src/mysql-connector-java-3.0.14-production-bin.jar
Created-By: NetBeans IDE
Specified-By: src/Server.jarContent
Main-Class: src.Server

Die Verbindung zur DB wird erfolgreich hergestellt, beim ersten Zugriff jedoch bleibt alles hängen; ohne Fehlermeldung.

Woran könnte das liegen?

danke und gruss,
zubi
 

nollario

Bekanntes Mitglied
hmm...

seltsam. jedenfalls würde ich sagen, hast du den treiber korrekt angelegt, sonst hättest du bereits eine ClassNotFoundException bekommen müssen, während du die Verbindung zu MySql erstellt hast.

Kannst Du vielleicht etwas mehr Code posten, um uns zu zeigen, wo genau das Teil stehen blieb?
 

zubi

Aktives Mitglied
danke für die antwort! das schräge an der sache ist wirklich das ausbleiben jeglicher fehlermeldungen! sonst hasst man die dinge, jetzt wünsch ich mir sehnlichst eine :D .
das prog. läuft übrigens ohne .jar einwandfrei; ich muss da was verbockt haben.

vielleicht hilft die betreffende klasse ja weiter:

Code:
package src;

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.io.File;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.FileWriter;

/**
 * Die Klass baut die Verbindung zur Datenbank auf und steuert Abfragen
 * sowie Zugriffe.
 */
public class DatabaseConnection{
    private Connection con;
    private Statement stat;
    private ResultSet rs;
    private static final File file = new File(System.getProperty("user.home") + 
                                            File.separator + "MySQL.txt");

    /**
     * Erzeugt neue Instanz von DatabaseConnection und öffnet Verbindung zur DB.
     */
    public DatabaseConnection() {
        try {
            // Erstellung eines Logs für alle Verbindungsvorgänge des SQL-Servers
            PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file, true)), true);
            
            DriverManager.setLogWriter(out);
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql:///javachat?user=test?password=test");
            
            if (!con.isClosed()) {
                System.out.println("Verbindungsaufbau zu MySQL-Server erfolgreich...");
            } else {
                System.out.println("Verbindung zu MySQL-Server fehlgeschlagen");
            }
            stat = con.createStatement();        
        } catch (SQLException ex) {
            // Errorhandling...
            System.out.println("SQLException: " + ex.getMessage()); 
            System.out.println("SQLState: " + ex.getSQLState()); 
            System.out.println("VendorError: " + ex.getErrorCode()); 
        } catch (Exception e){
            System.out.println(e);
        }
    }
    
    /**
     * Überprüft ob die Eingabe eines Users mit einem Eintrag in der Datenbank
     * übereinstimmt.
     * @param username Der vom User eingegebene Benutzername
     * @param password Das vom User eingegebene Passwort
     * @return true, wenn Eintrag gefunden wurde
     */
    public boolean entryCheck(String username, String password){
        boolean b = false;
        try {
            rs = stat.executeQuery("SELECT registration.Username, registration.Passwort" + 
                                    " FROM registration"+
                                    " WHERE registration.Username = \"" + username + "\" AND "+
                                    "registration.Passwort = \"" + password + "\";");
            rs.next();
            if (rs.getString(1) != null){
                b = true;
            }
        } catch (SQLException sql){
            return false;
        }
        return b;
    }
    
    /**
     * Überprüft, ob der vom neuen User gewünschte Username schon vergeben ist.
     * @param username der gewünschte Username
     * @param password das gewünschte Passwort
     * @return true, wenn Benutzername bereits vorhanden ist
     */
    public boolean regCheck(String username, String password){
        boolean b = false;

        try {
            rs = stat.executeQuery("SELECT registration.Username, registration.Passwort" + 
                                    " FROM registration"+
                                    " WHERE registration.Username = \"" + username + "\";");
            rs.next();
            if (rs.getString(1) != null){
                b = true;
            }
            
        } catch (SQLException sql){
            return false;
        }
        return b;
    }
    
    /**
     * Erstellt einen neuen Eintrag in der User-Datenbank.
     * @param username neuer Benutzername
     * @param password Passwort des neuen Benutzers
     * @param sex Geschlecht des Benutzers
     * @param date Eintragsdatum in die Datenbank (vom Server gesetzt)
     */
    public void createEntry(String username, String password, char sex, String date){
        try {
            stat.execute("INSERT INTO registration VALUES (" + "\"" + username + 
                                                                "\", \"" + password + 
                                                                "\", \"" + sex + "\", \"" 
                                                                + "n" + "\", \"" + date + "\");");
            System.out.println("New User inserted: " + username);
        } catch (SQLException sql){
            System.out.println(sql);
        }
    }
}

danke und gruess,
zubi
 

zubi

Aktives Mitglied
ok! problem gelöst! ich hatte eine klasse, welche einmal für casting benutzt wird nicht im .jar-archiv.... eine fehlermeldung wär ne meldung!!!

trotzdem noch was zum manifest:

damit es mit den jdbc-treibern funktioniert, muss ich den classpath folgendermassen setzen:

Class-Path: mysql-connector-java-3.0.14-production-bin.jar

d.h., ohne src/ davor, obwohl ich das .jar-file im ordner src hab'?!?

wie kommt das?

gruess,
zubi
 

nollario

Bekanntes Mitglied
wenn unter src deine sourcen liegen, ist dort wohl auch dein classpath... das heisst wenn du nur den namen des jars angibst, wird er in diesem (src verz) anfangen zu suchen... und findets
 

Thomblin

Mitglied
Hi,

man kann also ein .jar File in ein anderes .jar File einfügen? Finde ich praktisch, da ich obiges auch machen möchte, da man für die DB Anbindung ja die besagten sourfen benötigt.

Mein Frage: Kann ich mit eclipse beim erstellen eines .jar Files angeben, dass er die .jar Datei, die für den Datenbank Zugriff zuständig ist, automatisch mit packen und benutzen soll?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
Juelin MySQL Datenbankmit glassfish und Netbeans Datenbankprogrammierung 18
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
M MySQL Datenbank in Array Datenbankprogrammierung 2
P MySQL- Neues Passwort Datenbankprogrammierung 1
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
sserio SQL oder MySQL Datenbankprogrammierung 44
OnDemand Mysql Query Builder Datenbankprogrammierung 1
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
yakazuqi MySQL MySQL Connection reset Datenbankprogrammierung 7
OnDemand MySql Foreign Key nötig oder unnötig Datenbankprogrammierung 3
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
W MYSQL Datenbank Login Android Datenbankprogrammierung 3
OnDemand MySQL und mongoDB wann macht was Sinn? Datenbankprogrammierung 11
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
D MYSQL goorm IDE - Wie speichern? Datenbankprogrammierung 0
OnDemand Mysql UPDATE if condition Datenbankprogrammierung 14
D MySQL Geburtsdatum per KW abfragen Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
J MySQL - Primary Key Date,Time vs ID Datenbankprogrammierung 16
ruutaiokwu MySQL: Messwerte, welche stagnieren interpolieren? Datenbankprogrammierung 2
S Datenbank MySQL und Java Datenbankprogrammierung 8
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
J MySQL MySQL Risiken bei Stromausfall minimieren Datenbankprogrammierung 9
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
D MySQL Connection richtig herstellen. Wie ? Datenbankprogrammierung 7
D Multiple Connection mit MySQL Datenbankprogrammierung 4
D MySQL Eibinden des "mysql-connector" in eine fertige Jar Datenbankprogrammierung 3
L MySQL Android zu externer MySQL Datenbank verbinden Datenbankprogrammierung 5
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
D MySQL Zeilen kumulieren Datenbankprogrammierung 8
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
K Servlet-MySQL DB Datenbankprogrammierung 2
X MySQL Json String in MySQL einfügen. Datenbankprogrammierung 20
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
D Datumsformat aus MySQL ändern Datenbankprogrammierung 15
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
K MySQL LAN-MySQL Server mit XAMPP Datenbankprogrammierung 2
R ERModel der Datebanken (ORACLE,MySQL,MS-SQL usw) Datenbankprogrammierung 4
X MySQL In MySQL Funktionen erstellen, wenn Zelle leer dann andere Zelle ändern? Datenbankprogrammierung 9
K Anfängerfrage CSV in MySQL Datenbankprogrammierung 41
I MySQL Wert nachträglich bearbeiten Datenbankprogrammierung 1
N MySQL Datenbank lokal Datenbankprogrammierung 3
B MySQL: Port ändern über GUI? Wo und wie Port ändern? Datenbankprogrammierung 0
B MySQL installieren - silent / User anlegen Datenbankprogrammierung 3
X MySQL Verbindungdsaufbau MySql auf Ubuntu-Server Datenbankprogrammierung 10
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
M MySQL MySQL DATETIME-Import Datenbankprogrammierung 9
P MySQL Connection Global Datenbankprogrammierung 13
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
P MySQL-Verbindung in anderer Klasse nutzen Datenbankprogrammierung 2
D JavaFX Anwendung zugriff auf MySQL DB. Datenbankprogrammierung 2
D MySQL Grundsätzliche Fragen zu MySQL Datenbankprogrammierung 3
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
M In MySql Datenbank schreiben Datenbankprogrammierung 6
D mySQL Timestamp in RegularTimePeriod bzw Second Datenbankprogrammierung 3
H SHOW Tables in Java/MySQL Datenbankprogrammierung 8
windl MySQL und HSQLDB Datenbankprogrammierung 4
S Anbindung zur mysql von mit Swing und AWT Datenbankprogrammierung 22
F MySQL+ Netbeans: Datenbanken mit Automatisch generierten Entity Classes get und set Datenbankprogrammierung 2
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
C MYSQL kann wert nicht eintragen Datenbankprogrammierung 3
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
F BPlaced MySql Datenbank ansprechen Datenbankprogrammierung 5
S MySQL MySQL will einfach nicht, bitte um Rat Datenbankprogrammierung 4
M MySQL Datenbank durchsuchen Datenbankprogrammierung 5
Z MySQL mysql Facharbeit: Tipps und Ideen gesucht Datenbankprogrammierung 5
dat_vin JavaFX Datenbankverbindung über JPA und MySQL Error Datenbankprogrammierung 0
K MySQL Datenbank 2facher Zugriff Datenbankprogrammierung 1
Z MySQL Shopsystem mit mysql und Java Datenbankprogrammierung 8
S [MySQL] Topliste Datenbankprogrammierung 2
H Datenbank-Anbindung Java/MySQL Datenbankprogrammierung 2
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
J Dateien in MySQL speichern & indizieren Datenbankprogrammierung 2
B MySQL MySQL-Abfrage von aufsummierter Zeit Datenbankprogrammierung 3
K MySQL Datenbankbackups Datenbankprogrammierung 5
P MySQL INSERT / UPDATE MySQL - perStoredProcedure oder direkt im Code Datenbankprogrammierung 3
kaoZ HyperSQL vs. MYSQL Datenbankprogrammierung 4
L JSONArray/JSONObject MySQL-Servlet Abfrage Datenbankprogrammierung 2
V Internationalization mit MySql Datenbankprogrammierung 1
K Adressverwaltung mit MySql und Java? Datenbankprogrammierung 11
M Java Mysql verbinden Datenbankprogrammierung 3
L Zugriff auf lokal gespeicherte mySQL Datenbank Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben