سؤال

أحاول الاتصال بقاعدة بيانات MySQL باستخدام Java على Windows7. على الرغم من إضافة عنوان URL الكامل لملف jdbcdriver jar في classpath ، java.lang.classnotfoundexception: com.mysql.jdbc.driver يتم طرحه. هل يمكن لأي شخص أن يخبرني بما أفتقده هنا؟ إنه يعمل إذا قمت بإضافة ملف JAR في مكتبة المشروع ، لكنني أريد أن أفعل ذلك بواسطة ClassPath نفسها. يشبه classpath هذا مثل هذا- jython2.5.1 javalib mysql-connector-java-5.1.12-bin.jar

أريد أن أوضح أن هذا ليس هو المشروع الفعلي الذي أعمل عليه. أنا في الواقع أستخدم Django مع Jython ، والذي يتطلب من برنامج تشغيل JDBC الوصول إلى قاعدة البيانات. هذا هو السبب في أنني يجب أن أفعل ذلك باستخدام ClassPath فقط.

هل كانت مفيدة؟

المحلول

ال CLASSPATH متغير البيئة فقط تستخدم من قبل java.exe الأمر وحتى ذلك الحين فقط عند استخدامه بدون أي من -cp, -classpath, -jar الحجج. أنه تجاهل بواسطة ides مثل Eclipse و NetBeans و Idea.

يعتبر متغير البيئة هذا في العالم الحقيقي أيضًا ممارسة سيئة لأنه يكسر قابلية النقل. سيتم تشغيل برنامج IE X بنجاح بينما لن يتم تشغيل البرنامج Y دون تغيير CLASSPATH. إنه "مفيد" فقط شمس Oracle لمنع أن تتعب المبتدئون من كتابة نفس Classpath مرارًا وتكرارًا في -cp أو -classpath الحجج عند اتباع دروس Java. في العالم الحقيقي ، يفضل ملفات الدُفعات/الصدفة حيث فقط الأمر مع -cp/-classpath تم تحديد الحجة.

في حالتك ، أنت تستخدم IDE. يسمى ClassPath "مسار البناء". في مشاريع Java العادية ، فإنه يمثل على حد سواء التجميع ووقت التشغيل classpath. يمكنك تكوينه في خصائص المشروع. يمكنك إضافة مجلد كامل ، يمكنك إضافة ملفات جرة فردية/خارجية ، يمكنك ربط المشاريع ، إلخ. الاستفادة منه. ننسى استخدام CLASSPATH متغيرات البيئة. لقد كان خطأ من جانب شمس وحي. لقد فكروا في إقناع المبتدئين ، لكن انتهى الأمر إلى أن يكون أكثر إرباكًا للمبتدئين لأنهم يفسرون بشكل غير صحيح أن متغير البيئة ال classpath.

أنظر أيضا:

نصائح أخرى

ما ساعدني أخيرًا هو نسخ mysql-connector-java-5.1.15-bin.jar to jre lib و jre lib ext (!) على الرغم من أنني فعلت كل ما تقدمه Circpathing Circus Java: ) كانت البيئة خالصة المفكرة/سطر القيادة رغم ذلك.

ما عمل معي باستخدام NetBeans هو: تشغيل> تعيين تكوين المشروع> تخصيص. تحت المكتبات> إضافة مكتبة. تمت إضافة برنامج تشغيل MySQL JDBC (أفترض أنه ظهر في القائمة لأنني قمت بنسخ ملف JAR إلى مجلد JRE LIB EXT. وعملت بسلاسة.

حاولت تعيين ClassPath لكن هذا لم ينجح. أنا أستخدم NetBeans 7.0

ما عليك سوى القيام بنقر بزر الماوس الأيمن على مشروعك في "NetBeans" حدد الخصائص ثم انقر فوق "مكتبات" ثم انقر فوق "إضافة مكتبة ..." " زر

واجهت هذه المشكلة من قبل ، ولكن بعد ذلك لقد وضعت/أضفت mysql-connector-java-5.1.34-bin.jar (قم بتنزيله من هنا) في مجلد Apache-Tomcat-8.0.15 lib, ، ثم ركض مشروعي ، لقد نجح حقًا.

ملاحظة: حتى بعد إضافة ملف JAR ، يستمر الخطأ ، ثم أعد تشغيل خادم Tomcat وقم بإعادة تشغيل المشروع مرة أخرى.

  1. فتح NetBeans IDE
  2. انقر بزر الماوس الأيمن فوق مشروعك.
  3. حدد الخصائص.
  4. على الجانب الأيسر ، انقر فوق مكتبات.
  5. ضمن علامة التبويب "ترجمة" - انقر فوق إضافة زر جرة/مجلد.
  6. حدد ملف تنزيله "mysql-connector-java-5.1.25-bin.jar" (تنزيل الموصل/ي من dev.mysql.com)
  7. انقر فوق موافق
  8. ركض مرة أخرى ... عملها.

إذا كنت تستخدم Maven ، أضف الاعتماد على pom.xml يجب حل المشكلة.

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

في NetBeans IDE ، تحقق من خصائص المشروع التي تعمل عليها ، في نافذة الخصائص ، انتقل إلى علامة "Library" ، في مربع diolog فقط أضف MySQL-Connector-Java-**.

واجهت نفس المشكلة في NetBeans. لأنني كنت أستخدم مجموعة اتصال Tomcat كما هو محدد في Context.xml ، كنت بحاجة لإضافة جرة JDBC إلى كل من المشروع (الخصائص-> المكتبات) وإلى المجلد Lib/ المجلد داخل خادم Tomcat الخاص بي حتى يمكن رؤيته عند بدء التشغيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top