it-swarm.dev

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver في Eclipse

ما هو الخطأ في الكود هناك الكثير من الأخطاء أثناء تصحيح الأخطاء. أكتب رمزًا لفئة مفردة للتواصل مع قاعدة بيانات mysql.

هنا هو رمز بلدي

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

أنا جديد على جافا. ارجو المساعدة.

76
atikul hussain

يبدو لم يتم تضمين مكتبة اتصال mysql في المشروع. حل المشكلة باتباع أحد الحلول المقترحة:

  • حلول المشاريع الرئيسية

أضف تبعية mysql-connector إلى ملف مشروع pom.xml:

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

أنت هنا جميع الإصدارات: https://mvnrepository.com/artifact/mysql/mysql-connector-Java

  • جميع المشاريع الحل

أضف مكتبة الجرة يدويًا إلى المشروع.

انقر بزر الماوس الأيمن فوق المشروع -> مسار البناء -> تكوين مسار البناء

في Libraries Tab اضغط Add External Jar و Select jar الخاص بك.

يمكنك العثور على Zip for mysql-connector هنا

  • شرح:

عند إنشاء المشروع ، يرميك Java استثناء لأنه لم يتم العثور على ملف (فئة com.mysql.jdbc.Driver) من مكتبة اتصال mysql. الحل هو إضافة المكتبة إلى المشروع ، وسيجد Java com.mysql.jdbc.Driver

113
R9J

إذا حصلت على الخطأ في IDE (خطأ وقت الترجمة) ، فأنت بحاجة إلى إضافة ملف jar الخاص ب mysql-connector إلى libs وإضافته إلى مكتبة المشروع المشار إليها أيضًا.

إذا تلقيت هذا الخطأ عند تشغيله ، فربما يكون ذلك لأنك لم تقم بتضمين ملف JAR الخاص بـ mysql-connector في مجلد lib الخاص بخادم الويب الخاص بك.

أضف mysql-connector-Java-5.1.25-bin.jar إلى classpath وأيضًا إلى دليل lib الخاص بخادم الويب. يتم إعطاء مسار libcat كمثال Tomcat 6.0\lib

50
Asad

سيكون عليك تضمين جرة برنامج التشغيل لـ MySQL MySQL Connector Jar في classpath الخاص بك.

إذا كنت تستخدم Eclipse: كيفية إضافة مكتبات تابعة في Eclipse

إذا كنت تستخدم سطر الأوامر ، فقم بتضمين المسار إلى جرة برنامج التشغيل باستخدام المعلمة -cp لـ Java.

Java -cp C:\lib\* Main
11
Narendra Pathai

بالنسبة إلى Gradle - المشروعات التي تحتاج إلى اعتماد على MySQL Java Connector :

dependencies {
    compile 'mysql:mysql-connector-Java:6.0.+'
}
11
naXa

تحقق من وجود jar(mysql-connector-Java-bin) في classpath تنزيل من هنا

9
KhAn SaAb

يتكون JDBC API في الغالب من واجهات تعمل بشكل مستقل عن أي قاعدة بيانات. مطلوب برنامج تشغيل محدد لقاعدة البيانات لكل قاعدة بيانات تقوم بتنفيذ JDBC API.

قم أولاً بتنزيل جرة موصل MySQL من www.mysql.com ، ثم:

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

في علامة التبويب "المكتبات" ، اضغط على Add External Jar وحدد جرة الخاص.

8
Sathish SR

كل واحد كتب إجابة ولكني ما زلت مندهشًا من أنه لم يرد عليها أحد فعليًا باستخدام أفضل طريقة بسيطة.
يجيب الأشخاص الذين يتضمنون ملف الجرة. ولكن ، سيظل الخطأ يحدث.

السبب في ذلك هو عدم نشر الجرة عند تشغيل المشروع. لذا ، ما يتعين علينا القيام به هو إخبار IDE بنشر هذه الجرة أيضًا.

أجاب الأشخاص هنا كثيرًا من المرات التي وضعت ملف الجرة هذا في مجلد lib من WEB-INF. يبدو ذلك جيدًا ، لكن لماذا تفعل ذلك يدويًا. هناك طريقة بسيطة. تحقق من الخطوات التالية:

الخطوة 1: إذا لم تكن قد أشرت إلى ملف jar في المشروع ، فقم بالإشارة إليه بهذا الشكل.

انقر بزر الماوس الأيمن على المشروع وانتقل إلى خصائص المشروع. بعد ذلك ، انتقل إلى مسار بناء Java ، ثم أضف ملف jar خارجي عبر ذلك.

ولكن هذا لن يحل المشكلة بعد لأن إضافة الجرة الخارجية عبر مسار البناء لا يساعد إلا في تجميع الفئات ، ولن يتم نشر الجرة عند تشغيل المشروع.لهذا اتبع هذه الخطوة

انقر بزر الماوس الأيمن على المشروع وانتقل إلى خصائص المشروع. ثم ، انتقل إلى مجموعة النشر ثم اضغط إضافة ، ثم انتقل إلى إدخالات مسار بناء جافا وأضف مكتباتك سواء كانت jstl أو mysql أو أي شيء آخر ملف جرة. إضافتها إلى النشر. أدناه هي الصورتين التي عرضها.

 Before Adding 

 After Adding 

6
Tahir Hussain Mir

للمشاريع القائمة على مخضرم تحتاج إلى التبعية.

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-Java</artifactId>
        <version>5.1.38</version>
</dependency>
3
tomtomssi

في المشروع في مجلد المكتبات -> انقر بزر الماوس الأيمن -> إضافة مكتبة -> Mysqlconnector 5.1

2
Kika_Fortez

موصل برنامج التشغيل ليس في مسار الإنشاء الخاص بك. قم بتكوين مسار التصميم وقم بتوجيهه إلى "mysql-connector-Java-5.1.25-bin.jar" (تحقق من الإصدار الذي تستخدمه). بدلا من ذلك يمكنك استخدام مخضرم: D

2
shikjohari

ذلك لأن المجلد WEB-INF غير موجود في الموقع في الدليل الفرعي في الخطأ. يمكنك إما ترجمة التطبيق لاستخدام مجلد WEB-INF ضمن public_html OR انسخ المجلد WEB-INF في المجلد الفرعي كما في الخطأ أعلاه.

1
MilesWeb

تافهة كما قد يبدو في حالتي netbeans النسخة maven المشروع 7.2.1 كان مختلفا. هناك مجلد في المشروع يسمى التبعيات. انقر بزر الماوس الأيمن ثم يعرض نافذة منبثقة حيث يمكنك البحث عن الحزم. في منطقة الاستعلام وضعت

mysql-connector

ستظهر المباريات (يبدو أنها تفعل ذلك مقابل بعض المستودع). انقر مرتين ثم تثبيت.

1
Paul

إذا كنت تستخدم Tomcat ثم مع دليل المشروع ، يجب عليك أيضًا نسخ ملف jar موصل قاعدة البيانات إلى Tomcat/lib. هذا عملت لي

0
Santosh Kadam

بالنسبة لـ IntelliJ Idea ، انتقل إلى بنية المشروع (ملف ، هيكل المشروع) ، وأضف ملف .jar الخاص بموصل mysql إلى مكتبتك العالمية. بمجرد الوصول إلى هناك ، انقر بزر الماوس الأيمن فوقه واختر "إضافة إلى الوحدات النمطية". ضرب تطبيق/موافق ، ويجب أن تكون على ما يرام.

0
Michael Sims

يمكن أن يحدث الاستثناء أيضًا بسبب عدم تعريف مسار الفصل.

بعد ساعات من البحث والانتقال حرفيا إلى مئات الصفحات ، كانت المشكلة أن المسار الصفي للمكتبة لم يتم تحديده.

اضبط مسار الفصل على النحو التالي في جهاز windows

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

أنا أفهم مشكلتك إضافة هذه التبعية في pom.xml سيتم حل مشكلتك ،

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

0
Ravi Kumar Ravanam