Was ist los mit dem Code gibt es viele Fehler beim Debuggen. Ich schreibe einen Code für eine Singleton-Klasse, um eine Verbindung mit der Datenbank mysql herzustellen.
Hier ist mein Code
package com.glomindz.mercuri.util;
import Java.sql.Connection;
import Java.sql.Driver;
import Java.sql.DriverManager;
import Java.sql.SQLException;
public class MySingleTon {
String url = "jdbc:mysql://localhost:3306/";
String dbName = "test";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "";
private static MySingleTon myObj;
private Connection Con ;
private MySingleTon() {
System.out.println("Hello");
Con= createConnection();
}
@SuppressWarnings("rawtypes")
public Connection createConnection() {
Connection connection = null;
try {
// Load the JDBC driver
Class driver_class = Class.forName(driver);
Driver driver = (Driver) driver_class.newInstance();
DriverManager.registerDriver(driver);
connection = DriverManager.getConnection(url + dbName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
return connection;
}
/**
* Create a static method to get instance.
*/
public static MySingleTon getInstance() {
if (myObj == null) {
myObj = new MySingleTon();
}
return myObj;
}
public static void main(String a[]) {
MySingleTon st = MySingleTon.getInstance();
}
}
Ich bin neu in Java. Bitte helfen Sie.
Es scheint, dass die MySQL-Konnektivitätsbibliothek nicht im Projekt enthalten ist . Lösen Sie das Problem anhand einer der vorgeschlagenen Lösungen:
Fügen Sie die mysql-connector-Abhängigkeit zur pom.xml-Projektdatei hinzu:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-Java</artifactId>
<version>5.1.39</version>
</dependency>
Hier sind Sie alle Versionen: https://mvnrepository.com/artifact/mysql/mysql-connector-Java
Fügen Sie die JAR-Bibliothek manuell zum Projekt hinzu.
Klicken Sie mit der rechten Maustaste auf das Projekt -> Erstellungspfad -> Erstellungspfad konfigurieren
Im Libraries Tab
drücken Sie Add External Jar
und Select
Ihr Glas.
Sie finden Zip für MySQL-Connector hier
Wenn Sie das Projekt erstellen, löst Java eine Ausnahme aus, da eine Datei (die Klasse com.mysql.jdbc.Driver) aus der mysql-Konnektivitätsbibliothek nicht gefunden wird. Die Lösung fügt die Bibliothek der hinzu project, und Java findet den com.mysql.jdbc.Driver
Wenn der Fehler in Ihrer IDE aufgetreten ist (Fehler bei der Kompilierung), müssen Sie Ihre mysql-connector-JAR-Datei zu Ihren Bibliotheken hinzufügen und diese auch Ihrer referenzierten Projektbibliothek hinzufügen.
Wenn Sie diese Fehlermeldung erhalten, während Sie sie ausführen, liegt dies wahrscheinlich daran, dass Sie die mysql-connector-JAR-Datei nicht in den lib-Ordner Ihres Webservers aufgenommen haben.
Fügen Sie mysql-connector-Java-5.1.25-bin.jar
Zu Ihrem Klassenpfad und auch zum lib-Verzeichnis Ihres Webservers hinzu. Der Tomcat-Bibliothekspfad wird als Beispiel angegeben Tomcat 6.0\lib
Für Gradle - basierte Projekte benötigen Sie eine Abhängigkeit von MySQL Java Connector :
dependencies {
compile 'mysql:mysql-connector-Java:6.0.+'
}
Sie müssen die Treiber-JAR-Datei für MySQL MySQL Connector Jar in Ihren Klassenpfad aufnehmen.
Wenn Sie Eclipse verwenden: Hinzufügen abhängiger Bibliotheken in Eclipse
Wenn Sie die Befehlszeile verwenden, geben Sie den Pfad zur Treiberdatei mit dem Parameter -cp von Java an.
Java -cp C:\lib\* Main
Jeder hat eine Antwort geschrieben, aber ich bin immer noch überrascht, dass niemand sie auf die einfachste Art und Weise beantwortet hat.
Die Leute antworten, die die JAR-Datei enthalten. Der Fehler wird jedoch weiterhin auftreten.
Der Grund dafür ist, dass die JAR-Datei beim Ausführen des Projekts nicht bereitgestellt wird. Also, was wir tun müssen, ist, das IDE) anzuweisen, dieses Glas auch bereitzustellen.
Die Leute hier haben so oft geantwortet, dass sie diese JAR-Datei in den lib-Ordner von WEB-INF gelegt haben. Das scheint in Ordnung zu sein, aber warum manuell? Es gibt einen einfachen Weg. Überprüfen Sie die folgenden Schritte:
Schritt 1: Wenn Sie die JAR-Datei nicht in das Projekt referenziert haben, referenzieren Sie sie folgendermaßen.
Klicken Sie mit der rechten Maustaste auf das Projekt und gehen Sie zu den Projekteigenschaften. Wechseln Sie dann in den Erstellungspfad Java) und fügen Sie über diesen Pfad eine externe JAR-Datei hinzu.
Dies wird das Problem jedoch immer noch nicht lösen, da das Hinzufügen der externen JAR-Datei über den Erstellungspfad nur zum Kompilieren der Klassen beiträgt und die JAR-Datei nicht bereitgestellt wird, wenn Sie das Projekt ausführen. Befolgen Sie dazu diesen Schritt
Klicken Sie mit der rechten Maustaste auf das Projekt und gehen Sie zu den Projekteigenschaften. Wechseln Sie dann zu Deployment Assembly und drücken Sie Add . Wechseln Sie dann zu Geben Sie die Java-Erstellungspfadeinträge ein und fügen Sie Ihre Bibliotheken hinzu, unabhängig davon, ob es sich um JSTL, MYSQL oder eine andere JAR-Datei handelt. Fügen Sie sie der Bereitstellung hinzu. Unten sind die beiden Bilder, die es anzeigen.
suche in deinem Klassenpfad nach jar (mysql-connector-Java-bin)
hier herunterladen
Die JDBC-API besteht hauptsächlich aus Schnittstellen, die unabhängig von einer Datenbank funktionieren. Für jede Datenbank, die die JDBC-API implementiert, ist ein datenbankspezifischer Treiber erforderlich.
Laden Sie zuerst die MySQL-Connector-JAR von www.mysql.com herunter.
Right Click the project -- > build path -- > configure build path
Drücken Sie auf der Registerkarte "Bibliotheken" auf Add External Jar
und wähle dein Glas aus.
Für Maven-basierte Projekte benötigen Sie eine Abhängigkeit.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-Java</artifactId>
<version>5.1.38</version>
</dependency>
Im Projekt in den Ordner Libraries -> Rechtsklick -> Add Library -> Mysqlconnector 5.1
Der Treiberconnector befindet sich nicht in Ihrem Erstellungspfad. Konfigurieren Sie den Erstellungspfad und verweisen Sie ihn auf "mysql-connector-Java-5.1.25-bin.jar" (überprüfen Sie die Version, die Sie verwenden). Alternativ können Sie maven verwenden: D
Dies liegt daran, dass der Ordner WEB-INF im Fehlerfall nicht an der Position im Unterverzeichnis vorhanden ist. Sie kompilieren entweder die Anwendung, um den WEB-INF-Ordner unter public_html OR) zu verwenden. Kopieren Sie den WEB-INF-Ordner wie im obigen Fehler in einen Unterordner.
Trivial, wie es in meinem Fall scheinen mag, war netbeans version maven project 7.2.1 anders. Es gibt einen Ordner im Projekt, der Abhängigkeiten heißt. Klicken Sie mit der rechten Maustaste und es öffnet sich ein Popup-Fenster, in dem Sie nach Paketen suchen können. In den Abfragebereich stellen
mysql-connector
Es werden die Übereinstimmungen angezeigt (es scheint, dass dies gegen ein Repository erfolgt). Doppelklicken und installieren.
Wenn Sie Tomcat verwenden, sollten Sie zusammen mit dem Projektverzeichnis auch die JAR-Datei des Datenbank-Connectors nach Tomcat/lib kopieren. das hat bei mir funktioniert
Wechseln Sie für IntelliJ Idea zu Ihrer Projektstruktur (Datei, Projektstruktur), und fügen Sie die JAR-Datei für den MySQL-Connector Ihrer globalen Bibliothek hinzu. Klicken Sie dort mit der rechten Maustaste darauf und wählen Sie "Zu Modulen hinzufügen". Drücken Sie Übernehmen/OK und Sie sollten bereit sein zu gehen.
Die Ausnahme kann auch auftreten, weil der Klassenpfad nicht definiert ist.
Nach stundenlangen Nachforschungen und buchstäblich Hunderten von Seiten war das Problem, dass der Klassenpfad der Bibliothek nicht definiert wurde.
Legen Sie den Klassenpfad auf Ihrem Windows-Computer wie folgt fest
set classpath=path\to\your\jdbc\jar\file;.
Ich habe Ihr Problem verstanden. Fügen Sie diese Abhängigkeit in Ihre pom.xml ein. Ihr Problem wird gelöst.
https://mvnrepository.com/artifact/mysql/mysql-connector-Java/5.1.38