یوشا آل ایوب

وبگاه دست نوشته ها و تجربیات شخصی

یوشا آل ایوب

وبگاه دست نوشته ها و تجربیات شخصی

یوشا آل ایوب

دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم: آنکس که تخصص ندارد و کاری را می پذیرد، بی تقواست!

تبلیغات
Blog.ir بلاگ، رسانه متخصصین و اهل قلم، استفاده آسان از امکانات وبلاگ نویسی حرفه‌ای، در محیطی نوین، امن و پایدار bayanbox.ir صندوق بیان - تجربه‌ای متفاوت در نشر و نگهداری فایل‌ها، ۳ گیگا بایت فضای پیشرفته رایگان Bayan.ir - بیان، پیشرو در فناوری‌های فضای مجازی ایران
بایگانی

۱ مطلب در شهریور ۱۳۹۶ ثبت شده است

 

 

دیدم بعضی از کاربران برنامه Eclipse (چه ایرانی چه خارجی) در تفکیک و مفهوم CLASSPATH, Build path, Include path مشکل دارن، گفتم اینو بنویسم تا کمی از ابهامات رو برطرف کنم...

CLASSPATH: برای استفاده ClassLoader های خود Java طراحی شده و حاوی bytecode(در Java با نام class. یا JAr) یا nativecode(در C با نام o. یا obj.) های کامپایل شده هستش. درواقع بخشی از پکیج اصلی Java/C هستش و به java و javac اعلام میکنه که فایلهای کامپایل شده در کجا قرار دارن.

توجه: با اضافه کردن کتابخانه به CLASSPATH، کتابخانه مورد نظر در تمام پروژه ها قابل استفاده هستش، لیکن بصورت Relative link.

نکته 1: مقدار CLASSPATH میتونه توسط پارامتر -cp در برنامه java و javac و خاصیت Class-Path در فایل manifest.mf تغییر پیدا کنه. اما نهایتاً خاصیت Class-Path در فایل manifest.mf نسبت به CLASSPATH و پارامتر -cp اولویت داره.

نکته 2: همیشه علاوه بر مسیر lib خود JDK، مسیر جاری رو هم توسط نقطه . در CLASSPATH اضافه کنید.

نکته 3: در صورت وجود کتابخانه در همه مسیرهای موجود در CLASSPATH، همیشه اولین مسیر انتخاب خواهد شد.

نکته 4: این تنظیم در برنامه Eclipse در مسیر Preferences -> [Java/C] -> Build path -> Classpath قرار داره.

- مشکل ClassNotFoundException: از نوع Exception هستش و زمانی پرتاب میشه که برنامه جاوا بصورت Dynamic سعی در load کردن کلاس موردنظر حین Run-time از مسیر CLASSPATH کنه اما نتونه پیداش کنه.

- مشکل NoClassDefFoundError: از نوع Error هستش و زمانی بوجود میاد که کلاس موردنظر در مسیر CLASSPATH حین Compile-time وجود داره اما حین Run-time وجود نداره.

 

Include path: برای تفسیر/parse پروژه(مثل C یا PHP) طراحی شده، حاوی فایلهای header، سورس یا inc هستش، کد completion رو اعمال میکنه و کلاً برای پیدا کردن محتوا و منابع استفاده شده در پروژه هستش.
نکته: البته path منابع باید بصورت relative باشه تا توسط Eclipse پردازش بشه. (relative path = ./file.jpg, absoloute path = c:\www\root\test\file.jpg)

 

Build path: برای ساخت/compile پروژه طراحی شده، حاوی سورس ها و کتابخانه های پروژه هستش، در مسیر Project -> Properties -> Build path قرار داره، بخشی از workspace ویرایشگر هستش، به ویرایشگر/IDE اعلام میکنه که فایلهای سورس پروژه در کجا قرار دارن... همچنین فقط مختص ویرایشگر/IDE هستش و در هر ویرایشگری به محل متفاوتی اشاره میکنه. (مثل VS, Eclipse, Borland...)

۰ نظر ۹۶/۰۶/۰۴
یوشا آل ایوب