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

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

مغلق
بدأه رامي العيساوي في 18 سبتمبر 2005 · 5 رد · 616 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

منذ يومان اعمل برنامج جديد و بسيط فكرته بشكل مختصر بانه يوجد برنامج على سطح المكتب swing تدخل فيه معلومات ياخذ هذه المعلومات و يولد ملف كلاس و من ثم يجمع باقي الملفات و يضعها في ملف jar و هذا الملف يرسل الى الموبايل ليعمل هنالك

يعني البرنامج سطح المكتب SE يولد برامج مايكرو ME لكي تعمل على الموبايل

المهم انه بعدما يولد الملف المصدري لبرنامج الموبايل و مثلا يكون

M1Canvas.java

و بعدها ناتي لترجمته بواسطة javac

Process popo= Runtime.getRuntime().exec("javac -classpath D:/MyPro/Mshow/M1 D:/MyPro/Mshow/M1/M1Canvas.java");

و طبعا انا واضع الحزمة

javax.microedition.lcdui

بجانب الكلاس فيترجم بشكل صحيح ولا يظهر اي خطأ

و لكنه لا يعمل!!

اما اذا طبت من النت بينز ترجمته فيترجمه و لكن يظهر حجمه اكبر و يعمل!!

و بعد التاكد من ان النت بينز يستخدم نفس المترجم بتاع الجافا للـ ME

لم افهم مالسبب؟؟

في اختلاف الحجوم اذا كان نفس الـ javac للاثنين؟؟

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

#2

يا جماعة الخير ... انا من السنة للسنة حتى يطلع لي سؤال...

اللي عنده فكرة يساعدنا او يواسيني على الاقل..

و لا موضوعي مخالف و انا موصيكم لا تجاوبو على الموضوع المخالفة!!

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

#3

جرب هذه الحلول:

1- جرب أن تعيد وتعكس الفئات الناتجة من Netbeans ومن عمليتك، استخدم Decompiler وانظر هل يتم إضافة شيء معين مختلف في إحدى نتائج الترجمة سواء في عمليتك أو Netbeans.

2- اجعل Netbeans تطبع لك العملية في نافذة الناتج Output، أقصد عندما تضغط على الترجمة اقرأ ناتج هذا الأمر:

c:/program files/.../ javac.exe someParameters, some strange class path

قد نعرف عندها ما هو الأمر كاملا لينتج الملف صالحا للاستعمال!

بعد ذلك انقل هذه الجملة في برنامجك!

#4

عزيزي من المعروف ان الـ javac لا ينتج اي شئ يذكر اذا كان كل شئ تماما و هذا ما يحدث فعلا فهو لا ينتج شئ ابدا في كلا الحالتين

سوف احاول طريقة الـ Decompiler مع انني لا اظن ان البرنامج يضيف شئ من عنده لان الكلاس كله من كتابتي و لم اطلب شئ جاهز من البرنامج و من ثم قمت بتعديله!

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

#5

نعم نعم تذكرت.....

كيف نسيت هذا؟؟ مع أني قريبا كنت أفعل نفس الشيء!!!!

أنا أصنع ملفات الشروحات في NetBeans،، وإذا أردت عمل (جار) أصنعها من خلال JCreator وذلك لأن حجم ملف الجار الذي تنتجه NetBeans كبير جدا يصل إلى ضعف الملف المعمول ب JCreator!! (سطر الأوامر)

ربما Netbeans لا تستعمل الضغط عندما تصنع ملف الجار! وبعد تفكير، أعتقد أن Netbeans لا تستعمل javac ولا Jar ولا أي أمر من أوامر سطر الأوامر،، لكنها تستعمل Compiler Classو Jar classes!! أي أنها تفعل كل هذا برمجيا! وأعتقد أن هذا سبب سرعة الترجمة في Netbeans فهو أسرع من JCreator كما لاحظت.

وهذا ما يفسر أن الملف الجار الناتج غير مضغوط لأنه معمول برمجيا ودون ضغط الملف!!

#6

اخي العزيز انا لا يوجد لدي ادنى مشكلة مع الجار و انت تعرف ان برنامج me لا بد من ان يكون مضغوطا من اجل الحجم.. و الاثنين jar.exe و النت بينز يضغطونه

مشكلتي مع الكلاس مع javac.exe فهنا لا يوجد ضغط فقط ترجمة .. طيب لماذا javac يترجم ملف غير قابل للتشغيل؟؟

سوف احاول اليوم بالمشكلة .. لاني شعرت باني لم اضع كل جهدي فيها بعد

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

هذا الموضوع مغلق.

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