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