الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تشغيل ملفات Class

بدأه bochra في 2 سبتمبر 2009 · 9 رد · 1,707 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

أرغب اخواني بتشغيل ملف من نوع class

ولكني أواجه مشكله

فمثلا الدوس يكتب لي

couldn't find the main class:test.class,the program will exit

كيف لي أن أشغل برنامجي اسمه

test

علما بأني كتبته بالمفكرة وحفظته بامتداد

java

ثم ترجمته باستخدام

javac

الموجود ضمن jdk1.1.8

وكل شي تمام وتولد لي ملف كلاس

ولكن عندما اكتب في الدوس

java test

يظهرلي ماكتبته بالأعلى مالمشكلة

#2

وعليكــم السـلام ورحمة الله وبركاتـه..

يجب أن تضبط الClass Path ولديك طريقتين لضبطه ، الأولى من خلال متغيرات النظام والأخرى من خلال المعامل ClassPath أو الإختصار cp تقوم بكتابته عند تشغيل ال jvm كما يلي :

java -cp . YourClass

اقتباس
الموجود ضمن jdk1.1.8

يبدوا أن هذه نسخه قديمه ؟؟

أخر نسخه JDK هي 6 بالتحديث Update 16

بالتوفيق ،،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#3

حل آخر إضافة لما تفضل به الأخ وجدي (على نظام تشغيل windows)

و هو إضافة الـ . إلى المتغير Classpath

كالتالي:

click يمين على Mycomputer

Properties >advanced>Environement variable>system variable

و أضيفي قبل محتوى المتغير

.;

افتحي نافذة dos جديدة و شغلي البرنامج

#4

شكراً لك اخي الكريم وجدي

وشكراااا لك أخي

djug

لقد اتبعت طريقة متغيرات النظام ونجحت 100 % ولكن لم أضع سوى فاصلة منقوطة بدون نقطة

هذه الطريقة ممتازة ولكن يعيبها اني لو غيرت مكان مجلد التطبيق يجب أن أغيرها كذلك

أما الطريقة التي بالدوس

كتبت كما قلت

java -cp test.class

لم تنجح وكتبت كذلك

java -classpath test.class

لم تنجح أيضا علما أن

test.class

هو ملف الكلاس الذي ارغب بتنفيذه

شكرا لكما

تم تعديل هذه المشاركة بواسطة bochra في 3 سبتمبر 2009 في 01:15

#5
اقتباس
هذه الطريقة ممتازة ولكن يعيبها اني لو غيرت مكان مجلد التطبيق يجب أن أغيرها كذلك

الهدف من إضافة النقطة إلى الـ classpath (طبعا كما ذكرت في مشاركتي السابقة) هو لتجنب ذلك المشكل حيث أن النقطة تعبر عن المجلد الحالي أي إننا لن نضطر إلى تغيير أي شيء بل بالعكس الحل يصبح عاما لكل تطبيقات الـ java

#6

بعد -cp لازم تضيفي نقطة، وهي تشير إلى المجلد الحالي الذي تتواجدين فيه، ثم بعد النقطة تضعين إسم الكلاس دون .class

java -cp . test

#7

الان فهمت جيدااا

سؤال اخر إخواني هل اذا اردت أن أضمن كلاس وليكن

subclass.class

ضمن برنامجي الذي يحتوي على الدالة الرئيسية

mainclass.java

استخدم

import

أو include

لان خلفيتي هي لغة السي

أم يكفي وضعهما في مجلد واحد

أقصد

mainclass.java

subclass.class

عندما وضعتهما في مجلد واحد نتج لي خطأ

Class subclass not found in type declaration

أنا خجلى لاني اسأل كثيرا

:blush:

#8

إذا كانا في نفس المجلد فلا داعي لعمل import، وتقومين باستدعائها مثل أي كلاس أخرى


c.someMethod();
.....
SubClass c = new SubClass();

#9

شكراً لك اخي الكريم

وجزاك الله خيرا

لقد عرفت السبب

الملف

subclass.java

تمت ترجمته باصدار حديث من

jdk

أما

mainclass.java

فقد كنت أحاول ترجمته باصدار قديم هو jdk1.1.8

ولذلك فشلت فما أن حملت اصدار حديثا . عمل البرنامج بشكل صحيح

#10
اقتباس
أنا خجلى لاني اسأل كثيرا

" اثنان لا يتعلمان : حيي ومستكبر "

منتدانا هذا ،هنا لنتعاون على طلب العلم :)

مواضيع مشابهة