ورود

View Full Version : سوال : آیا java.exe و javaw.exe باهم تفاوت دارند؟تفاوتی در نحوه ی اجرای .jar و .class وجود دارد؟



asgharimohsen
پنج شنبه 31 شهریور 1390, 13:14 عصر
با سلام به همه ی خواننده های این پست
مدتی پیش تلاش داشتم تا یک فایل xml را با استفاده از متد replaceAll تغییر دهم
برنامه ی کوچکی در این راستا نوشتم. از netbeans برای نوشتن این برنامه استفاده می کردم

هنگام تست برنامه با استفاده از netbeans همه چیز عالی و بدون نقص انجام می شد
اما هنگامی که فایل jar را اجرا می کردم وضع فرق داشت
کاراکتر های فارسی همه به کاراکتر علامت سوال تبدیل می شد و گاهی به بعضی از کاراکتر های غیر مجاز برای
کاراکتر ست "utf-8" تبدیلی می شد که برنامه ی مربوطه "ماکروسافت آفیس" قادر به اجرای آنها نبود
اتفاقی که واقعا بسیار عجیب به نظر می رسید
بعد یک 2 ماه تلاش در این زمینه و انواع متفاوت تست گرفتن برنامه و حتی کار با بایت ها بجای کاراکتر ها
متوجه مسئله ای شدم که در سوال این پست آنرا ذکر کردم.
netbeans برای اجرای پروژه های خود از java.exe استفاده کرده و بنابراین نتایج کاملا صحیح است
اما وقتی فایل jar را می سازیم و آنرا اجرا می کنیم نرم افزار جاوای ما با استفاده از javaw.exe اجرا می شود
به این نتیجه رسیدم که این دو باهم تفاوتهایی دارند.
نسخه ی jdk ای که استفاده می کنم 7 می باشد اما 6 اپدیت 21 را نیز تست گرفتم و نتیجه کاملا مشابه بود
حال این سوال مطرح است که نرم افزار نوشته شده را چگونه تحویل دهم؟بصورت jar و یا کلاس های من قابل روئیت باشد؟
تصمیم گرفتم برنامه را با استفاده از خطوط فرمان cmd اجرا کنم و برای اینکار هم یک فایل bat تهیه کردم
اما اگر بخواهم این برنامه را در لینوکس اجرا کنم تکلیف چیست؟
و یا اینکه برنامه ی جاوای من با استفاده از فایل اجرایی bat توسط خط فرمان ویندوز اجرا شود شکل منطقی و قابل قبولی دارد؟این وابستگی شکل زیبایی ندارد
برای این مشکل راه حلی وجود دارد؟

Miladsob
سه شنبه 12 مهر 1390, 00:26 صبح
تو لینوکس که کار کردن با خط قرمان زیاد زشت نیست:چشمک:
ولی میتونی یه لانچر (شورت کات) درست کنی که توش این دستور java -jar رو اول آدرس بذاری!!!

asgharimohsen
جمعه 22 مهر 1390, 14:05 عصر
ممنون از راهنمایی شما
درسته توی لینوکس اتفاقا قشنگ ترین راه استفاده از نرم افزارها استفاده از خط فرمان هست
اما توی ویندوز یکم کار غیر متعارفی هست ، ضمن اینکه یوزر هایی که قراره از این نرم افزار استفاده کنن یکم به سنگواره و فسیل شبیه تر هستن تا انسان مدرن
فعلا از یه فایل bat برای این کار استفاده کردم
از پاسختون ممنونم