ورود

View Full Version : شباهت فایل jar با Class Library ؟



mj_developer
جمعه 01 آذر 1387, 09:32 صبح
سلام

به نظر شما آیا پروژه های از نوع Class Library در Visual Studio.Net که خروجی آنها فایلهایی از نوع dll هست همون فایلهایی است با پسوند jar که توسط JVM اجرا میشن ؟ به این خاطر که در فایلهایی که از پروژه های Class Library در Visual Studio.Net تولید میشن چندین کلاس وجود داره که به طور منطقی دسته بندی شده اند و من شنیده ام که درون فایلهای با پسوند jar هم چندین کلاس میتونه باشه که در نهایت به صورت یک فایل jar فشرده و اجرایی شده اند و در انتها آیا همون طوری که میشه فایلهای dll رو در Visual Studio.Net Add Refrence کرد باید فایلهای jar رو هم Add Refrence کرد تا بتوان در یک پروژه JAVA از آنها در کد نویسی استفاده کرد ؟

با تشکر...

javaphantom
جمعه 01 آذر 1387, 11:32 صبح
سلام

به نظر شما آیا پروژه های از نوع Class Library در Visual Studio.Net که خروجی آنها فایلهایی از نوع dll هست همون فایلهایی است با پسوند jar که توسط JVM اجرا میشن ؟ به این خاطر که در فایلهایی که از پروژه های Class Library در Visual Studio.Net تولید میشن چندین کلاس وجود داره که به طور منطقی دسته بندی شده اند و من شنیده ام که درون فایلهای با پسوند jar هم چندین کلاس میتونه باشه که در نهایت به صورت یک فایل jar فشرده و اجرایی شده اند و در انتها آیا همون طوری که میشه فایلهای dll رو در Visual Studio.Net Add Refrence کرد باید فایلهای jar رو هم Add Refrence کرد تا بتوان در یک پروژه JAVA از آنها در کد نویسی استفاده کرد ؟

با تشکر...

ما این همه توضیح دادیم برات jar فایل چیه بازم داری حرفه خودتو می زنی.
توی جاوا هر فایلی که compile می شه خروجیش یک فایل با پسوند class هست. تمام class فایلها نقش dll فایل رو دارند. ما jar می کنیمشون که هم جمع و جور بشن و هم کم حجم.

برای مثال یک jar file داریم که وقتی می ری داخلش یک فلدر با نام test می بینی و داخل اون فلدر یک فایل با پسوند class با نام Test.class. حالا می خوای از این فایل Test.class بعنوان یک dll فایل استفاده کنی. کافی هست این فایل jar رو در مسیر compiler جاوا بزاری. کاری که توی همه compiler های دیگر می کنی. بعد صداش می تونی بکنی. توی C++ تحت کامپالر bolrand با دستور include# صدا می کنی تو #C با using و توی جاوا import

اگر منظورت فایل exe هست. در جواب بهت می گم که ما توی جاوا فایل اجرایی نداریم که با پسوند خواصی باشه. همه class فایل هستند. فایل exe هم مسخره بازیه ماکروسافت و همین کار باعث شده که بشه منبع چرک .

در هر جر فایل استاندارد یک فلدر به نام META-INF هست که داخل او فلدر از طریق یک سری فایل که مشخص هستند تنظیمات و روابط بین فلدر و فایلهای داخل جر فایل رو می تونی تعریف کنی.

شما باید jar فایل جاوا رو به classpath اضافه کنی

persianshadow
جمعه 01 آذر 1387, 11:36 صبح
خب دوست من مقایسه جالبی هست ، فایل های JAR همونطور که گفتین می تونه 2 حالت مختلف داشته باشه

اول اینکه فایل JAR حاوی یک سری پوشه هست و در هر پوشه ای هم فایل های class قرار گرفته اند ، به فرض

در دات نت شما امکانی تحت نام namespace دارید که امکان اینو فراهم می کنه تا شما کلاس های خودتون رو

در namespace های قرار بدید در جاوا همین موضوع تحت نام package وجود داره ولی با یک تفاوت و اون

هم اینکه در جاوا هر package به نام یک پوشه اشاره داره ، خب وقتی شما یک برنامه جاوا بنویسی

تعدادی فایل .java داری که شامل کدهای برنامه هست و بعد از اینکه این کدها رو کامپایل (تفسیر) کنی

فایل های .class بوجود میاد و در نهایت برای اینکه کاربر نهایی سردرگم نشه همه این فایل ها درون

یک فایل JAR قرار می گیره تا با دابل کلیک کردن بر روی این فایل برنامه شما اجرا بشه .

اما حالت دوم همون چیزی هست که به نام Library ازش نام بردی ، در دات نت گاهی اوقات میشه موقع

برنامه نویسی از کامپوننت های از پیش نوشته شده استفاده کرد مثلآ کامپوننت رسم چارت که این کامپوننت

ها در قالب فایل های dll هستند و باید به برنامه افزوده بشه ، در جاوا هم کامپوننت ها هم در فایل های

JAR قرار دارند و باید به برنامه افزوده شده تا بتوانن کلاس های درون آنها را برای استفاده به درون برنامه

import کرد.