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

الإشارة إلى class من خلال CLASSPATH

بدأه kiubo في 19 فبراير 2012 · 14 رد · 695 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

الان اعمل على لغة اسمها

jess

احد لغات الذكاء الاصطناعي

وهي تتيح لي الدخول من jess الى classesالموجوده بالجافا اقوم بمناداتها

لكن يجب علي ان اشير لها من خلال مايسمى ال CLASSPATH

حاولت بجيمع الطريق التي اعرفها لكن لم تعمل معي؟

هل اجد حلاً لهذة المشكلة ؟

الموضوع جداً مهم .. :sad:

وشكراً

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

#2

في ال command line أكتب

في ويندوز:

set CLASSPATH=c:\\path\\to\\file1.jar;d:\\path\\to\\file2.jar

في لينوكس (ماك - يونكس):

CLASSPATH=/path/to/file1.jar:/path/to/file2.jar
#3
__Unknown كتب:

في ال command line أكتب

في ويندوز:

set CLASSPATH=c:\\path\\to\\file1.jar;d:\\path\\to\\file2.jar

في لينوكس (ماك - يونكس):

CLASSPATH=/path/to/file1.jar:/path/to/file2.jar

نفس المشكلة

الان ملف ال jar موجود بهذا الباث

C:\classplath\mylib.jar

وال CLASSPATH

يحمل هذة القيمة

.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip;C:\classplath\mylib.jar

حتى الان لا اعلم كيف سأخبر jess عن ال class

هذة رسالة الخطاء من jess

Jess reported an error in routine defclass
	while executing (defclass JessClass cc).
  Message: Class not found:.
  Program text: ( defclass JessClass cc )  at line 65 in file D:************************\Rules.clp.

Nested exception is:
cc

هذا نص الكلاس

package lip;

public class JessClass {

	private int x;

	public int getX() {
		return x;
	}

	public void setX(int x) {
		this.x = x;
	}

}

هل احتاج اعرف object في main class

يلا خلوني اشوف من الي راح يلقى الحل انا ولا انتوا :wink:

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

#4

جرب وضع \\ بدلا من \

#5

هذا شكل الباث بعد ماعدلته

C:\\Program Files (x86)\\Java\\jre6\\lib\\ext\\QTJava.zip;C:\\classplath\\mylib.jar

نفس المشكلة ...

سويت main class

package lip;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
JessClass newOne = new JessClass();

	}

}

وحفظته مع الكلاس السابق بملف jar جديد وحفظته با path كامل في CLASSPATH

مع العلم اني اتعامل مع ال variable system

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

#6

طيب لو قمت بسمح ال CLASSPATH وعمل واحد جديد هل سيكون هنالك اي مشاكل؟؟ ,,

لأن ال tomcat يعمل لدي ولااريد ان اقوم بعمل تغير يؤثر عليه :sad:

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

#8
__Unknown كتب:

لم أفهم قصدك جيدا...

ربما هذه تساعدك http://java.sun.com/developer/technicalArticles/J2SE/JavaRule.html

انا استخدم jess وهي rule engine

من خبرتك من الجافا لما تريد تشغل كلاس من command line وتريد ان تنادي على كلاس

ماذا تفعل؟؟؟

المشكلة ليست ب jess

االمشكلة كيف للنظام ان يشير على كلاس من جافا للتستطيع jess ان تتعامل معاه ...

:sad:

سأحاول مراراً للحصول على الحل :happy:

تم تعديل هذه المشاركة بواسطة kiubo في 20 فبراير 2012 في 19:28

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

#9
اقتباس
من خبرتك من الجافا لما تريد تشغل كلاس من command line وتريد ان تنادي على كلاس

هناك عدة طرق :

java -cp /path/to/jar1.jar:/path/to/jar2.jar

ملحوظه: طريقة الفاصله تخلتف بإختلاف النظام

أو كما الطريقه السابقه

#10
__Unknown كتب:

هناك عدة طرق :

java -cp /path/to/jar1.jar:/path/to/jar2.jar

ملحوظه: طريقة الفاصله تخلتف بإختلاف النظام

أو كما الطريقه السابقه

نظامي ويندوز :dry:

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

#11

لقد أخذت لمحه سريعه عن Jess و ما أفهمه أنك تحاول إستدعاء كود جافا داخل إسكربتات ال Jess ... صحيح؟

إذا كان الأمر كذلك ... فهل بإستطاعتك الوصول لأي فئه من فئات الجافا مثل java.util.Date مثلا؟

تم تعديل هذه المشاركة بواسطة __Unknown في 21 فبراير 2012 في 01:19

#12
__Unknown كتب:

لقد أخذت لمحه سريعه عن Jess و ما أفهمه أنك تحاول إستدعاء كود جافا داخل إسكربتات ال Jess ... صحيح؟

إذا كان الأمر كذلك ... فهل بإستطاعتك الوصول لأي فئه من فئات الجافا مثل java.util.Date مثلا؟

ممتاز هذا مااعنية بالضبط...

الان ب jess نتعامل مع ملفات بصيغة clp تفهمها jess وحدها او من خلال ال console الخاص بها

jess تيح لي ان اعمل object من class معين واخذ ال instance واستخدمها فيها فقط نريد النظام يشير الى classكي تستطيع الوصول الية

اخي الفاضل هذا نص يشرح بالضبط مااعني..

916141881.png

توضيح::

ال Working memory

مكان تخزين لل fact تحت طريقة معينه خاصه jess

ال fact

قيم لا تتغير وتعتبر حقيقة ولا يسمح بها التكرار

في الكود اخذنا الكلاس وانشأنا ال object

واخذنا ال instance اتومتكياً بعد مااستخدمنها function تقوم بذالك

template طريقة للاخذ ال fact بمكان معين

مثلا طالب لديه اسم وغيرها

هذا كلها تعتبر حقيقة واحد بقيم مختلفة

شكراً جزيلاً لقرائتك في jess :happy:

تم تعديل هذه المشاركة بواسطة kiubo في 21 فبراير 2012 في 10:55

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

#13
اقتباس
الان ب jess نتعامل مع ملفات بصيغة clp تفهمها jess وحدها او من خلال ال console الخاص بها

لقد تعاملت من قبل مع clipsفي الجامعه :blush:

سأقوم بتنزيل ال Jess و المحاوله حالما أفرغ ..

لكن حاليا حاول أن تنفذ الأمر التالى:

(defclass myDate java.util.Date)

بعد ذلك إفتح ال command prompt و اكتب:

echo %CLASSPATH%

ما النتيجه؟

ثم إكتب

set CLASSPATH=C:\libs\fileContainsTheClassFile.jar

و من نفس ال command prompt قم ببدء ال jess shell و جرب المثال ....

2
#14
اقتباس

لقد تعاملت من قبل مع clipsفي الجامعه :blush:

رائع جداً للاسف جامعتي تدرس كورس ذكاء دون التطبيق بااي شيء من clips :S

اقتباس

سأقوم بتنزيل ال Jess و المحاوله حالما أفرغ ..

حسناً النسخة الموجوه بالنت هي نسخة لمد 30 يوم فقط

اذا لديك ايميل جامعي ارسلهم وحدد اسم الجامعه والمنطقة وسيصلك اسم مستحدم ورقم سري يتيح لك تنزيل نسختك الاكاديمية لمده سنه كاملة :cool:

اقتباس

(defclass myDate java.util.Date)

رائع انه يعمل ماشاء لله تبارك الرحمن اعجبني التفكير بهذة الطريقة

اقتباس

echo %CLASSPATH%

هنا مربط الفرس

فائدتها تقول لنا قمية ال CLASSPATH الحقيقية

انها ليست كما اضعها باطريقة التقليدية :blink:

998111881.png

امممم ما العمل

انا لا اريد ان اغير شيء حتى ال tomcat لا يعمل بعد ذلك :sad:

حسنا سأطبق ماقلته برد السابق وساكتب ماذا حدث معي

شكراً جزيلاً للأستمرارك في المحاوله في حل المشكلة ... :happy:

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

#15

للاسف المشكلة لم تحل ؟؟

اي حلول اخرى او اقتراحات...

للاسف المشكلة لم تحل

اي حلول اخرى او اقتراحات

كن مثل طابع البريد ، التصق بهدفك...حتى تصل الى هناك!

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