java.lang.ClassNotFoundException: com.mysql.jdbc.Driver in Eclipse

Wat is er mis met de code, er zijn veel fouten tijdens het debuggen. Ik schrijf een code voor een singleton-klasse om verbinding te maken met de database mysql.

Hier is mijn 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();
    }
}

Ik ben nieuw bij Java. Help alstublieft.


Antwoord 1, Autoriteit 100%

Het lijkt erop dat de MySQL-connectiviteitsbibliotheek niet is meegeleverd in het project. Los het probleem op na een van de voorgestelde oplossingen:

  • Maven-projecten-oplossing

Voeg de MySQL-connector-afhankelijkheid van het POM.XML-projectbestand toe:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.39</version>
</dependency>

Hier bent u alle versies: https://mvnrepository.com/Artifact/mysql/mysql-connector- Java

  • Alle projecten Oplossing

voeg de potbibliotheek handmatig toe aan het project.

Klik met de rechtermuisknop op het project – & GT; Bouw pad – & GT; Configureer Build Path

In Libraries TabDruk op Add External Jaren SelectYour Jar.

U kunt ZIP voor MySQL-connector hier

  • Uitleg:

Bij het bouwen van het project gooit Java u een uitzondering omdat een bestand (de COM.MYSQL.JDBC.DRIVER-klasse) van de MySQL-connectiviteitsbibliotheek niet wordt gevonden. De oplossing voegt de bibliotheek toe aan het project en Java vindt de COM.MYSQL.JDBC.DRIVER


Antwoord 2, Autoriteit 41%

Als u de fout in uw IDE hebt (Compile-Time Fout), moet u uw MySQL-connector JAR-bestand aan uw libs toevoegen en dit ook toevoegen aan uw referentie-bibliotheek van Project.

Als u deze foutmelding krijgt wanneer u het gebruikt, dan is het waarschijnlijk omdat u MySQL-connector JAR-bestand niet hebt opgenomen aan de libelmap van uw Webserver.

Toevoegen mysql-connector-java-5.1.25-bin.jarnaar uw klassenpad en ook naar de libelmap van uw webserver. Tomcat Lib Path wordt als voorbeeld gegeven Tomcat 6.0\lib


Antwoord 3, Autoriteit 14%

Iedereen heeft een antwoord geschreven, maar ik ben nog steeds verrast dat niemand het daadwerkelijk heeft beantwoord door de beste eenvoudige manier te gebruiken.

Het beantwoorden van de mensen die het JAR-bestand bevatten. Maar de fout zal nog steeds plaatsvinden.

De reden daarvoor is de pot niet ingezet wanneer het project wordt uitgevoerd. Dus, wat we moeten doen is, vertel de IDE om deze pot ook te implementeren.

De mensen hier hebben zoveel keren beantwoord die dat JAR-bestand in de Lib-map van Web-Inf plaatsten. Dat lijkt goed, maar waarom zou het handmatig doen. Er is een eenvoudige manier. Controleer de onderstaande stappen:

Stap 1: Als u het JAR-bestand niet in het project hebt verwezen, verwezen dit dan als deze.

Klik met de rechtermuisknop op het project en ga naar de projecteigenschappen.
Ga vervolgens naar het Java-buildpad en voeg vervolgens extern jar-bestand toe via dat.

Maar dit zal het probleem nog steeds niet oplossen omdat het toevoegen van de externe jar via het buildpad alleen helpt bij het samenstellen van de klassen, en de pot wordt niet ingezet wanneer u het project uitvoert. Volg deze stap

Klik met de rechtermuisknop op het project en ga naar de projecteigenschappen.
Ga vervolgens naar de Deployment Assemblyen druk vervolgens op Add, ga dan naar de java build path-vermeldingenen voeg uw bibliotheken toe, of het nu jstl, mysql is of een ander jar-bestand. voeg ze toe aan de implementatie.
Hieronder staan de twee foto’s waarop het wordt weergegeven.


Antwoord 4, autoriteit 11%

Voor Gradle-gebaseerde projecten heb je een afhankelijkheid nodig van MySQL Java Connector:

dependencies {
    compile 'mysql:mysql-connector-java:6.0.+'
}

Antwoord 5, autoriteit 10%

controleer op jar(mysql-connector-java-bin)in uw classpath download hier


Antwoord 6, autoriteit 9%

Je moet de driver jar voor MySQL MySQL Connector Jaropnemen in je classpath.

Als u Eclipse gebruikt:
Afhankelijke bibliotheken toevoegen in Eclipse

Als u de opdrachtregel gebruikt, moet u het pad naar de driver-jar opnemen met de parameter -cp van java.

java -cp C:\lib\* Main

Antwoord 7, autoriteit 6%

JDBC API bestaat meestal uit interfaces die onafhankelijk van elke database werken. Een database-specifieke driver is vereist voor elke database die de JDBC API implementeert.

Download eerst de MySQL-connector JAR van www.mysql.com, dan:

Right Click the project -- > build path -- > configure build path

In het tabblad Bibliotheken drukken op Add External Jaren selecteer uw pot.


Antwoord 8, Autoriteit 2%

Voor MAVEN-gebaseerde projecten hebt u een afhankelijkheid nodig.

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.38</version>
</dependency>

Antwoord 9, Autoriteit 2%

In het project in de mapbibliotheken – & GT; klik met de rechtermuisknop – & GT; Bibliotheek toevoegen – & GT; MySQLConnector 5.1


Antwoord 10, Autoriteit 2%

De connector van de bestuurder bevindt zich niet in uw bouwpad. Configureer het buildpad en wijs het naar de ‘Mysql-connector-java-5.1.25-bin.jar’ (controleer de versie die u gebruikt). Als alternatief kunt u Maven gebruiken: D


Antwoord 11, Autoriteit 2%

Ga naar uw projectstructuur (bestand, projectstructuur) en voeg de MySQL-connector toe. Jar-bestand aan uw wereldwijde bibliotheek. Eenmaal daar, klik er met de rechtermuisknop op en koos ‘Toevoegen aan modules’. Hit Solliciteer / OK en je moet goed zijn om te gaan.


Antwoord 12

triviaal omdat het lijkt in mijn case netbeans versie Maven Project 7.2.1 was anders. Er is een map in het project genaamd afhankelijkheden. Klik met de rechtermuisknop en vervolgens brengt het een pop-upvenster op waar u naar pakketten kunt zoeken. In het query-gebied Zet

mysql-connector

Het zal de overeenkomsten oproepen (het lijkt erop dat het dit doet tegen een repository). Dubbelklik en installeer.


Antwoord 13

Het is omdat de WEB-INF-map niet bestaat op de locatie in de submap in de fout. Ofwel compileer je de applicatie om de WEB-INF-map onder public_html te gebruiken OF kopieer je de WEB-INF-map in de submap zoals in de bovenstaande fout.


Antwoord 14

De uitzondering kan ook optreden omdat het klassenpad niet is gedefinieerd.

Na urenlang onderzoek en letterlijk honderden pagina’s doorlopen, was het probleem dat het klassenpad van de bibliotheek niet was gedefinieerd.

Stel het klassenpad als volgt in op uw Windows-computer

set classpath=path\to\your\jdbc\jar\file;.

Antwoord 15

Ik heb uw probleem begrepen, voeg deze afhankelijkheid toe aan uw pom.xml, uw probleem zal worden opgelost,

https://mvnrepository.com/artifact/mysql/mysql- connector-java/5.1.38


Antwoord 16

Als je tomcat gebruikt, moet je samen met de projectdirectory ook het jar-bestand van de databaseconnector kopiëren naar tomcat/lib. dit werkte voor mij


Antwoord 17

Dit moet vanaf 2020 worden gebruikt

   <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.18</version>
    </dependency>

Antwoord 18

Ik ontwikkel een eenvoudige JavaFX11-toepassing met SQLite Database in Eclipse IDE. Om rapport te genereren heb ik Jasper-potten toegevoegd. Plots geeft het een “DIT”-foutmelding.

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Het liep goed (VOOR DEZE AANVULLING). Maar plotseling!

Ik gebruik geen maven of andere beheerders voor deze eenvoudige toepassing. Ik voeg potten handmatig toe.

Ik heb “Gebruikersbibliotheek” gemaakt en mijn jars toegevoegd vanuit externe mappen.

PROBLEEM GEBIED:
Mijn “Gebruikersbibliotheek” zijn gemarkeerd als systeembibliotheek. Ik heb zojuist de markering verwijderd. Nu is het geen systeembibliotheek. “NU WERKT MIJN PROJECT GOED”.

DEBUG MYSELF: andere dingen geprobeerd:
AT RUN CONFIGURATIE: Probeer bibliotheek te verwijderen en potten één voor één toe te voegen en kijk. – hier moet je alle potten één voor één verwijderen, er is geen selecteer alles en verwijder nu in eclipse in run-configuratie. Dus de foutmeldingen veranderen van de ene pot naar de andere.

Ik hoop dat dit iemand helpt.


Antwoord 19

I was also facing the same problem

Download mysql-connector-javajar-bestand

plak het in de C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib

Ik hoop dat dit ook voor jou werkt !!

Other episodes