سؤال

لقد بدأت للتو في استخدام Log4J لأول مرة.لقد قمت بإنشاء ملف log4j.properties ووضعه في مجلد مشروعي في Eclipse.لقد قمت أيضًا بإنشاء تكوين تشغيل لتطبيقي (إنه مجرد تكوين تشغيل افتراضي، ولا توجد خيارات إضافية).

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

إذا ذهبت إلى علامة التبويب Classpath في تكوين التشغيل الخاص بي، فستجد ما يلي:

  • إدخالات التمهيد
  • إدخالات المستخدم
    • MyApplication (مسار الفئة الافتراضي)
    • log4j-1.2.15.jar - C:\Workspace\MyApplication\lib

ومع ذلك، إذا قمت بإضافة مجلد مشروعي يدويًا (نقر فوق "إضافة مجلدات" و"متقدم" و"MyApplication")، فسيتمكن log4j من تهيئة نفسه.

لماذا هذا؟لماذا لا يتمكن log4j من العثور على ملف الخصائص إلا إذا قمت بإضافة مجلد المشروع يدويًا؟أليس هذا المجلد موجودًا في مسار الفصل بشكل افتراضي؟(يشير الناتج أعلاه إلى أنه كذلك.)

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

المحلول

لا، مجلد المشروع نفسه ليس موجودًا في مسار الفصل بشكل افتراضي - مجلدات إخراج المشروع موجودة (عادةً ما تكون مجلدًا فرعيًا واحدًا يسمى bin أو الفئات).

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

بشكل عام، لا ينبغي عليك العبث بمسار الفئة الخاص بتكوينات التشغيل - في معظم الحالات يكون من المناسب تغيير (أو، كما في حالتك، الاستخدام الصحيح) مسار البناء في خصائص المشروع.

نصائح أخرى

لا تتم إضافة مجلد المشروع إلى مسار الفصل بشكل افتراضي.يحتوي مسار الفصل فقط على مجلد الفئات بشكل افتراضي.

سيتعين عليك إضافة أي مجلد آخر يدويًا إلى مسار الفصل.

لديك خياران:

  • ضع ملف log4j.properties ضمن مجلد src الخاص بك
  • قم بإنشاء مجلد مصدر إضافي، عادةً ما يُسمي الموارد أو الدقة، ثم ضع الملف log4j.properties هناك

سبب عدم عمله الآن هو أن الملف غير موجود في مسار المشروع.يمكنك رؤية مسار الفصل من Project > Properties > Java Build Path

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