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

هل ممكن أشغل برنامج جافا وال Jvm على جهاز آخر؟

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

السلام عليكم

JVM هل ممكن يا شباب إني أشغل برنامج بالجافا والـ

على جهاز آخر؟

يعني أعطيه مسار برنامج التشغيل ويكون المسار لجهاز آخر؟

شكراً

#2

هل يمكن أن توضح أكثر؟

سؤالك مبهم نوعا ما

#3

لا علم لدي ,, لكني اشك في ذلك

#4

RMI تساعدك في تنفيذ دوال على جهاز الآخرين

web service أيضاً تساعدك في نفس العملية عن طريق بروتكول HTTP

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

JVM

هي بيئة العمل لأي برنامج كتب بلغة الجافا

وهي يأتي مع أي نظام تشغيل فكيف تريد تشغيله على جهاز آخر؟؟

أتوقع أنك لم توضح لنا السؤال.

ولا كلام بعد الأستاذ علاء الصالحي فهو أعرف منا بسؤالك.

تقبل مروري

#6

السؤال مبهم؟؟؟

والله ياخي إني أستغرب لما فيه منكم من يقول السؤال غير مفهوم, السؤال واضح جدا ولا اللي يقول السؤال غير مفهوم مو فاهم كيف تشتغل برامج الجافا؟؟

وبعدين الأخت اللي تقول إن بيئة تشغيل برامج جافا تأتي أصلا مع أي نظام تشغيل, شكلك ما عرفتي الكمبيوتر غير تو مع فيستا إذا توك جديدة على الجافا أتمنى ما تتكلمين بشي ما تعرفينه

تم تعديل هذه المشاركة بواسطة Lovelorn2008 في 11 يوليو 2009 في 22:55

#7

أخي lovelorn

أنا مبتدئة في عالم الجافا صحيح

ووجدت هذه المعلومة وأنا أبحث عن JVM

وشكرا لك لإيضاحك خطأي ولكن أتمنى أن لا تمنعني من الحديث

فلولا تفوهي بها لما علمت أن معلومتي المكتسبة خطأ

وهنا الأعضاء والمشرفين وأنت واحد منهم القادرين على تصحيح

معلوماتنا الخاطئة قبل أن تصل إلى الآخرين بالخطأ.

جزاكم الله كل خير وففقكم إلى طريق السداد.

وهنا أطلب منك أن تزودني بمعلومات عن JVM لأصوب السهم المعوج الذي أطلق إلي

هذا بعد إذنك طبعا.

واعذرنا على تطفلنا على موضوعك بالخطأ.

#8

طولو بالكم يا جماعة الخير...

السؤال مفهوم يريد تشغيل برنامج جافا على جهاز لا يوجد فيه JVM و لكن يوجد جهاز آخر مرتبط معه بشبكة مثلا يتوفر عليه JVM و البرنامج

و الجواب هو : لأ

للالتفاف على الموضوع يجب ان تلجئ للويب مثلا حول برنامجك على applet او الى سيرفلت

حيث ان جافا ويب ستارت تحتاج JVMو RMI تحتاجJVMايضا

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#9

برجاء اجتناب افتعال المشاكل مع الأعضاء أخ Lovelorn2008

أنا فعلاً أرى سؤالك غير واضح

بدليل أني فهمت أن الطرف الأول والثاني لديه JVM

وفهم الأخ رامي أن الطرف الثاني فقط لديه JVM

رامي أظن حتى applet تحتاج إلى JVM

هل طرأ شيء جديد لا أعلم عنه؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#10

السلام عليكم

أول شي معليش أنا أعتذر من الجميع إذا كان بدر مني شي مو زين وأخص بالإعتذار الأخت Al-Noor232

أكرر أسفي مرة ثانية منك اختي وصراحة أنا فعلا كنت متضايق لما كتبت الرد وأسلوبك بالرد صراحة أحرجني وفعلا أنا آسف

أنا أفهمك ايش هي الـ JVM, زمان قبل ما تطلع لنا لغة الجافا كان لما تعمل برنامج بأي لغة برمجة ما يشتغل معاك البرنامج إلا على نفس نظام التشغيل اللي كنت شغال عليه لما قفلت البرنامج (يعني لما عملت compile لملفات البرنامج), يعني إذا كنت مثلا تشتغل على نظام التشغيل ويندوز وعملت برنامج مثلا بلغة الـ C++ ورحت تشغل البرنامج على نظام تشغيل آخر مثلا لينوكس ما يرضى يشتغل معاك البرنامج. السبب في هذا يكمن في كيفية مخاطبة برنامجك لنظام التشغيل نفسه لما ينفذ تعليماته.

الآن لما جات لغة الجافا تميزت بميزة جبارة جدا وهي إن البرنامج أقدر أعمله على أي نظام تشغيل وأشغله على أي نظام تشغيل وهذا كله بفضل الـ JVM. تقدري تقولي إن الـ JVM هو مثل المترجم اللي معاه عدة لغات بحيث يفهم اللغة اللي يفهمها ويعمل بها نظام التشغيل (مثل ويندوز, لينوكس, سولاريس, وغيرها كثير من أنظمة التشغيل المشهورة ) وأيضا يفهم لغة رموزها تسمى (byte code) وهنا هو السر, حيث إنك لما تعملي compile لبرنامجك تحول تعليماته إلى تعليمات الـ byte code ويصير الـ JVM يفهم تعليمات برنامجك ويقدر يخاطب نظام التشغيل اللي انتي شغالة عليه وبكذا يكون مثل الوسيط والمترجم بين برنامجك ونظام التشغيل.

أتمنى والله تكون وضحت الأمور وفهمتي ايش هي الـ JVM.

شكرا

#11

بســم الله الـرحمــن الرحيــم

الحمد لله والصلاة والسلام على حبيبي ونور قلبي رسول الله محمد

يا جماعة الخير صلوا على النبي

اولا :

الاخت al-Noor232 ابقي هكذا واياكي ان تتردي في طرح اي رد او موضوع لان السخرية من اي عضو - مع احترامي للجميع - ستدفعك الى عدم اكتساب اي معلومة فلا حياء مع العلم . واكرر اياكي ان تترددي في طرح اي رد على اي موضوع وأسأل الله ان يعلمنا ما ينفعنا والجميع آمين

س: هل استطيع تشغيل برنامجي على جهاز لا يوجد به جافا ؟

ج: نعم ولكن كيف ؟؟؟؟؟؟؟؟؟؟؟

اولا اقوم بنسخ المجلد jre وانسخ ايضا برنامجي معه خارج المجلد jre

ثم أقوم بوضع ملف امتداده bat بجانب برنامجي واسمه مثلا run.bat

لو نظرت الى ترتيبهم لوجدته هكذا

jre folder وبجانبه run.bat وبجانبه my_program

ثم أكتب داخل ملف البات

----------------------------------------------
in windows write this code in run.bat

set path=%path%;jre\bin\
java [your java program]
----------------------------------------------
in unix write this code in run.sh

export path=$path:jre/bin
java [your java program]

س : اذا كانت jvm موجودة على الجهاز وأنا أريد ان يعمل برنامجي على jvm التي ضمنتها مع برنامجي (كلاساتي) ولا يعمل على jvm التي على الجهاز لاسباب كثيرة منها عدم تلاؤم نوع الاصدار فما أفعل ؟؟؟؟؟؟

ج: السؤال غير مفهوم ؟؟؟؟

س: اريد برنامجي ان يعمل مع jvm الخاصة بي ولا اريد برنامجي ان يعمل مع jvm التي على الجهاز ؟؟؟؟

ج: أقوم بكل بساطة بتغيير اسم الملف الموجود داخل jvm الذي اسمه java.exe الى اسمي انا ahmad.exe وطبعا ستقوم بتغيير ملف البات الذي عملته ستقوم باستبدال كلمة java الى ahmad

ملاحظة :

يفضل ان تضع اسمك انت بدلا من اسمي :wink:

وهناك طريقه أخرى وهي تتعلق ب path فإذا كان عندك ملفان بنفس الاسم في path فأيهما سينفذ نظام التشغيل ؟؟؟؟

سينفذ الاول أم الثاني ؟ فلو كان عندك ملفان اسمهما java.exe واحد في jvm الخاصة بي والثاني في jvm التي على الجهاز ؟؟ فأيهما سينفذ لو كتبنا على الدوس java.exe ؟؟؟؟؟؟؟؟؟

ج: سينفذ الاول طبعا ؟ لان نظام التشغيل يقوم بالبحث عن الملف في الباث الذي تكتبه فاذا وجده توقف عن البحث مباشرة ولذلك سيجد الاول طبعا

لذلك سنقوم بتبديل الباث بدلا من اضافته كما فعلا سابقا وهي طريق سهلة هكذا

----------------------------------------------
in windows write this code in run.bat

set temppath=%path%
set path=jre\bin\;%temppath%
java [your java program]
----------------------------------------------
or or or or or 
set path=jre\bin\;%path%
java [your java program]

هنا سينفذ اكيد java.exe التي في jvm الخاصة بي (my jre folder) دون الحاجة لتغيير اسم الملف java.exe

مع اني انا احب تغيير اسماء كل ملفات الجافا وخربطة المكاتب بحيث تقسم بالله انها ليست jvm B)

سؤال مهم جدا وهو ما يريده السائل الكريم

سؤال مهم جدا وهو ما يريده السائل الكريم

سؤال مهم جدا وهو ما يريده السائل الكريم

س: هل استطيع تشغيل الجافا على جهاز بعيد (سيرفرserver) وجهاز قريب ( زبونclient ) دون وجود jvm على جهاز الزبون ؟؟؟؟

ج: نعم بشرط ان تكون jvm في مجلد مشترك (share) على السيرفر

ويكون عندك (الزبون ) ملف بات خاص وبرنامجك( your classes) على جهاز الزبون

س : ماذا نكتب في ملف البات الخاص ؟؟؟؟؟؟؟؟

ج: شو بدنا نكتب يعني اكيد نفس الذي كتبناه فوق لكن مع بعض التعديل

in networks you must write in shared folder

set path=%path%;\\server\shared Folder\jre\bin
java [your java program]

اسف على الشرح المعقد ولكني لاني نادرا ما ازور المنتدى

تم تعديل هذه المشاركة بواسطة Lenah في 14 يوليو 2009 في 02:44

#12

اتمنى ان يكون الشرح واضحا والا

سوف اقوم باعادة الشرح مع الصور ان شاء الله بالتفصيل الممل جدا حالما أخرج من المصيبة التي أنا فيها

#13

شرح جيد جداً أخت لينا

تستحقين الشكر عليه

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#14

موضوع جميل و رد أجمل من الأخت لينة

فرج الله كربتك اخت لينة و جميع كرب المسلمين

في انتظار تطبيق ما شرحته الاخت لينة من المعنيين بالأمر ومنهم صاحب الموضوع وأنا بالطبع...........

#15

أخت لينة الله يجزاك بالجنة على شرحك الأكثر من رائع

أنا طبقت كلامك وجات معاي الأمور تمام 100%, لكن الله يعافيك كيف أقدر أشغل ملف jar. بدلا من تنفيذ ملف class. ؟

وإذا كان ممكن إذا فيه طريقة لإخفاء الشاشة السوداء بعد ما يشتغل البرنامج؟

ألف شكر لك على المعلومات الرائعة وفعلا هي على الأقل حلت مشكلة عندي...

#16

بســم الله الـرحمــن الرحيــم

س : كيف انفذ ملف جار بدلا من كلاس دون ظهور الشاشة السوداء ؟

ج:

 

set path=\\server\shared Folder\jre\bin;%path%

 start  javaw -jar myjar.jar

ما الذي تريده بالضبط يا أخي حتى يحل مشكلتك بالكامل

هناك طريقة لجعل البرنامج يعمل دون ان يكون موجودا على الجهاز !!!!!!!!!! :blink: :blink:

س: كيف يمكن ان اقوم بتشغيل برنامج موجود على السيرفر وjvm موجودة ايضا على السيرفر ولا يوجد عند جهاز الزبون اي شيء ؟

ج : سهل جدا

نكتب البات بحيث نضع بدلا من myjar.jar المكان الذي يوجد به على السيرفر

 

set path=\\server\shared Folder\jre\bin;%path%

 start  javaw -jar "//server/shared Folder2/myjar.jar"

لاحظ انها javaw وليست java

او اذا كنت مثلي تحب الامر الواحد نكتب فقط

 

start \\server\"shared Folder1"\jre\bin\javaw -jar "//server/shared Folder2/myjar.jar"

لاحظ اننا وضعنا علامتي الاقتباس " " حول المجلد "shared folder1" لأنه يحتوي space

وتستطيع تحويل ملف البات الى ملف exe , واخفاء المجلدات المشتركة عن كل المستخدمين ولن يعرف احد في الشبكة ان هناك مجلدات مشتركة على السيرفر أبدا ...

س : كيف استطيع اخفاء المجلدات المشتركة على الشبكة ؟

ج: تستطيع اخفاء المجلدات المشتركة على الشبكة بوضع اشارة $ في آخر اسم المجلد المشترك (shared folder) ولن يستطيع احد رؤيته انه مجلد مشترك على الشبكة الا اذا كان حافظ اسم المجلد المشترك فقط

سيقوم المستخدم بتشغيل الملف exe ولن يعرف ما الذي يحدث ويمكن ان يكون هناك اكثر من مستخدم يعملون على نفس البرنامج !!!!!!

تم تعديل هذه المشاركة بواسطة Lenah في 14 يوليو 2009 في 03:12

#17

الحين فهمت

والله تشكرون أخواني جميعا

والشكر موصول لك أخت لينا.

لا تعلمون كم أنا سعيدة بأنكم صححت خطأي

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

#18

مفيدة جداً أخت لينا

ومتعمقة جداً في موضوع الباتش

طيب هل يمكنني أن أطبق نفس الآلية مع موقع إنترنت؟؟

وهل يمكنني أن أشغل برنامج يعتمد على api موجودة على الشبكة؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#19

بســم الله الـرحمــن الرحيــم

اشكر الخت لينا على المعلومات القيمه واتمني من الاخوان الاخرين عدم الرد على الاسئله عاليه المستوي بغير الاحاطه العلميه بالموضوع :huh: واجدد شكري للاخت لينا بارك الله فيها ز

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…