سؤال

أنا أستخدم NetBeans IDE لمشروع Java. في هذا المشروع ، أحتاج إلى ملف جرة "htmlunit-2.6.jar".

لقد قمت بتضمين ملف الجرة هذا في مجلد مكتبات المشروع. لقد قمت بتأسيس أحد فئته "WebClient" ولكن هذه الفئة تحتاج إلى فئات أخرى من ملف "Commons-HTTPClient-3.1.jar".

لقد قمت الآن أيضًا بتضمين ملف "Commons-HTTPClient-3.1.jar" في مجلد مكتبات المشروع. ولكن عندما قمت بتجميع ملف المصدر الخاص بي ، يرمي

ClassNotFoundException: org.apache.commons.httpclient.auth.credentialSprovider

يرجى إخباري بكيفية التعامل مع هذا الموقف عندما يحتاج فصل واحد في ملف جرة واحدة إلى فئات أخرى في ملف جرة آخر.

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

المحلول

ما عليك سوى وضع ملفات JAR المطلوبة على ClassPath في وقت الترجمة ويجب أن تعمل. إذا كنت تفعل ذلك من سطر الأوامر ، فسيبدو هكذا:

javac -cp jar1:jar2 my.Application

إذا كنت تستخدم NetBeans ثم تحتاج إلى معرفة NetBeans أن كل من الجرار على classpath الخاص بك. سيكون محدد في أ المشروع> الخصائص ساحر كما هو موضح هنا و أيضا هنا من البرنامج التعليمي

نصائح أخرى

يخبرك ClassNotFoundException أن مكتباتك لديها بعض التبعيات التي لم يتم تضمينها في ClassPath في وقت التشغيل. مصدرك على ما يرام ، لأنه إذا كنت قد استخدمت شيئًا غير متوفر ، فسيخبرك NB بهذا في وقت الترجم (أو قبل التحرير).

لذا ، مرحبًا بك في "الجحيم التبعية"من Java. بالنسبة للمشاريع الصغيرة ، ستتمكن من التحقق من جميع التبعيات باليد مع ملفات ReadMe ، والمستندات ، وما إلى ذلك ، ووضعها في تكوين المشروع كما قال Oxbow_lakes. للحصول مافن. سوف تفعل (معظم) كل شيء بالنسبة لك!

(Maven متاح في NB6)

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