ورود

View Full Version : سوال: چطوری میشه یک library جاوا ساخت؟



سعیدسعید
جمعه 13 فروردین 1389, 15:30 عصر
سلام به خدمت دوستان خوبم
من چند تا کلاس در محیط Eclipse 3.5.1 نوشتم. حالا می خوام از اینا یک library بسازم تا بتونم در پروژه های دیگه هم استفاده کنم. اگر برای دوستان مقدور هست بنده رو در رابطه با چگونگی ساخت library راهنمایی کنند یا اگر فایل اموزشی در این رابطه دارند در اختیار بنده قرار دهند.

ممنون: سعید

jlover
شنبه 14 فروردین 1389, 01:21 صبح
این دقیقن مشابه سوالی هست که در تاپیک زیر پرسیده شده . .. فقط این بار IDE فرق میکنه !
http://barnamenevis.org/forum/showthread.php?t=212278
من هم امروز صبح کلی سرو کله زدم با نتبینز توی قسمتهای librariries و java platform که متاسفانه نتونستم راهی پیدا کنم که واسه همه ی پروژه ها فقط یکبار وارد کنیم کلاسهامون ( همون کتابخونه ) رو

من که میرم از خود نتبینز میپرسم ( شاید چند روز دیگه وقت نکنم ) و اگه راهی داشت خدمت همه اعلام میکنم ...
اما اگه کسی میدونه به ما بگه خیلی ممنون میشم

javanerd
شنبه 14 فروردین 1389, 10:24 صبح
برای ساخت یک کتابخانه توی eclipse کافیه که یک فایل jar بسازید که توش فایل‌های کامپایل شده‌ی کلاس‌ها (فایل‌های class.*) توش قرار داشته باشه. در محیط eclipse کافیه که File > Export > Jar File رو انتخاب کنید.

jlover
شنبه 14 فروردین 1389, 10:57 صبح
برای ساخت یک کتابخانه توی eclipse کافیه که یک فایل jar بسازید که توش فایل‌های کامپایل شده‌ی کلاس‌ها (فایل‌های class.*) توش قرار داشته باشه. در محیط eclipse کافیه که File > Export > Jar File رو انتخاب کنید.

موضوع اینه که چطور این فایل jar رو قابل استفاده برای تمام پروژه هایی که در IDE هستند بکنیم.درست مثل استفاده از کلاسهای کتابخانه ی استاندارد !

mazdadoost
شنبه 14 فروردین 1389, 11:31 صبح
با سلام :
به منوی Tools برید و گزینه Libraries رو انتخاب کنید . در پنجره باز شده دقت کنید در کمبوی Libraries Location گزینه Global Liberies انتخاب شده باشه.
روی دکمه New Library کلیک کنید .
نامی برای آطلاع خودتون تایپ کنید و نوع Library رو Class Library انتخاب کنید .
در این مرحله دقت کنید که نام Library جدید شما در لیست کتابخانه ها انتخاب شده باشه .
با استفاده از کادر کناری و دکمه Add jar folder فایل ها و فولدر های jar رو به نت بینز معرفی کنید.
در نهایت OK کنید.
از حالا به بعد با انتخاب Project Properties و انتخاب Libraries میتونید library جدیدتون رو در لیست Libraryt های خود نت بینز ببینید.
البته یک روش دیگه هم برای گلوبل کردن library ها تحت عنوان java extention وجود داره . در این روش کافیه فایل های کلاس و جار خودتون در این مسی کپی کنید :
lib\ext
محیط اجرای جاوا کپی کنید . تا برای همه بنامه های اون محیط اجرا در دسترس باشه.
موفق باشید.

jlover
شنبه 14 فروردین 1389, 12:21 عصر
البته یک روش دیگه هم برای گلوبل کردن library ها تحت عنوان java extention وجود داره . در این روش کافیه فایل های کلاس و جار خودتون در این مسی کپی کنید :
lib\ext
محیط اجرای جاوا کپی کنید . تا برای همه بنامه های اون محیط اجرا در دسترس باشه.
موفق باشید.
سلام
من هم امروز صبح و هم الان دقیقن همین کار رو انجام دادم اما توی پروژه م(تو یه کلاسش) وقتی اسم فایل jar رو مینویسم خبری نمیشه
هم تو پوشه ی jre و هم تو پوشه ی jdk در مسیر lib/ext

جر های پیشفرض که در اون پوشه هستند هم ( مثل dnsns.jar ) قابل دسترسی نیستند
--------------------------------------------------------------------------------
پس از ویرایش
شرمنده ، من فکر میکردم حتمن اسم پکیج(همون فایل جر ) رو هم باید در شروع فراخانی قید میکردم:گیج: ...
که اینطور نیست.حالا میشه به کلاسهای درون فایل جر دسترسی داشت


متشکر
دقیقن به همین احتیاج داشتیم

mazdadoost
شنبه 14 فروردین 1389, 13:59 عصر
سلام
من هم امروز صبح و هم الان دقیقن همین کار رو انجام دادم اما توی پروژه م(تو یه کلاسش) وقتی اسم فایل jar رو مینویسم خبری نمیشه
هم تو پوشه ی jre و هم تو پوشه ی jdk در مسیر lib/ext

جر های پیشفرض که در اون پوشه هستند هم ( مثل dnsns.jar ) قابل دسترسی نیستند
--------------------------------------------------------------------------------
پس از ویرایش
شرمنده ، من فکر میکردم حتمن اسم پکیج(همون فایل جر ) رو هم باید در شروع فراخانی قید میکردم:گیج: ...
که اینطور نیست.حالا میشه به کلاسهای درون فایل جر دسترسی داشت


متشکر
دقیقن به همین احتیاج داشتیم

یه کاره جالبه دیگه هم میتونید با این مکانیسم انجام بدین و اون اینه که این jre یا jdk رو با برنامتون به کاربر نهایی بدین تا خیلی راحت بدون ست کردن کلاس پت برنامتئن اجرا بشه.

jlover
شنبه 14 فروردین 1389, 15:32 عصر
یه کاره جالبه دیگه هم میتونید با این مکانیسم انجام بدین و اون اینه که این jre یا jdk رو با برنامتون به کاربر نهایی بدین تا خیلی راحت بدون ست کردن کلاس پت برنامتئن اجرا بشه.
بازم ممنون
ببینید من درست متوجه شدم :
یعنی فرض میکنیم یه کاربری توی سیستمش jre نصب نداره ( اگر ساکن ایران باشه احتمالش زیاده ) و ما نرم افزارمون رو تکمیل کردیم و بستیم تو یه آرشیو jar ، اونوقت میتونیم یه کپی از کل پوشه ی Jre درون jdk رو به کاربر بدیم ؟و حالا چجوری باید اجراش کنه...

در ضمن یه سوال دیگه الان داشتم پوشه ی java/jre رو با java/jdk../jre مقایسه میکردم،اکثرشون یکیه،چند تا فایل متمایز هم دارند (شاید واسه این باشه که jre رو دیروز آپدیت کردم ! )
آخه من اول jre رو نصب کردم و بعد jdk رو که احتمالن همراهش(توی خودش ) jre رو هم داشت

mazdadoost
شنبه 14 فروردین 1389, 15:58 عصر
بازم ممنون
ببینید من درست متوجه شدم :
یعنی فرض میکنیم یه کاربری توی سیستمش jre نصب نداره ( اگر ساکن ایران باشه احتمالش زیاده ) و ما نرم افزارمون رو تکمیل کردیم و بستیم تو یه آرشیو jar ، اونوقت میتونیم یه کپی از کل پوشه ی Jre درون jdk رو به کاربر بدیم ؟و حالا چجوری باید اجراش کنه...

در ضمن یه سوال دیگه الان داشتم پوشه ی java/jre رو با java/jdk../jre مقایسه میکردم،اکثرشون یکیه،چند تا فایل متمایز هم دارند (شاید واسه این باشه که jre رو دیروز آپدیت کردم ! )
آخه من اول jre رو نصب کردم و بعد jdk رو که احتمالن همراهش(توی خودش ) jre رو هم داشت

ببینید
شما میتونید چه کاربر jre داشتع باشه و چه نداشته باشه jre خودتون رو به کاربر بدبن. و یک فایل bat که اینترپرتر جاوای (java.exe)اون jre اجرا کنه .
در مورد سوال دیگتون قبلا بحث شده . (خود jdk برای اجراش به jre نیاز داره ! و اون jre در jdk همون jre ای هست که jdk ازش استفاده می کنه.البته برنامه های شما ه می تونند از این jre استفاده کنند.)

javanerd
یک شنبه 15 فروردین 1389, 13:30 عصر
یه کاره جالبه دیگه هم میتونید با این مکانیسم انجام بدین و اون اینه که این jre یا jdk رو با برنامتون به کاربر نهایی بدین تا خیلی راحت بدون ست کردن کلاس پت برنامتئن اجرا بشه.

این روش خیلی خوبه ولی یک عیب عمده داره. کاربر باید حتما jre شما رو در اختیار داشته باشه.
من شخصا ترجیح می‌دهم که به روش زیر عمل کنم.



یک شاخه به اسم lib یا یک اسم مشابه توی پروژه‌ای که در حال کار کردن روش هستم می‌سازم.
تمام فایل‌های jar که در این پروژه نیاز هست، به جز فایل هایی که به صورت پیش‌فرض توسط jre یا jdk نصب می‌شوند را داخل این پوشه می‌ریزم.
CLASSPATH را طوری تنظیم می‌کنم که به فایل‌های داخل این شاخه اشاره کند (توی محیط اکلیپس کافیه که روی فایل jar مورد نظر راست کلیک کنید و گزینه‌ي Add to build path را انتخاب کنید).

این کار باعث میشه که وقتی بخواهم پروژه رو به یک دستگاه دیگه منتقل کنم یا روی یک سایت آپلود کنم فقط نیاز داشته باشم که محتویات داخل پوشه را منتقل کنم. به یاد آوردن این مطلب که چه فایل‌های را به شاخه‌ی jre اضافه کردم کار خیلی دشواری هست.

اگر مایل بودید در مورد فواید دیگر این کار بیشتر توضیح می‌دهم.