ورود

View Full Version : سوال: Classpath چیست ؟



saeed51100
دوشنبه 27 فروردین 1397, 22:30 عصر
سلام
مفهوم
Classpath چی هست و چه کاربردی داره ؟

farhad_shiri_ex
سه شنبه 28 فروردین 1397, 11:04 صبح
سلام
مفهوم
Classpath چی هست و چه کاربردی داره ؟

CLASSPATH در واقع یک متغیر محیطی در جاوا است و به برنامه های جاوا و ماشین مجازی جاوا (JVM) می گوید که برای پیدا کردن کتابخانه ها از کلاس ها به چه آدرسهایی مراجعه کند.
در ضمن شامل کلاسهایی که خودتان نیز آنها را توسعه داده اید.

متغیر محیطی یک متغیر سیستمی است که توسط سیستم عامل قابل دسترسی است. متغیرهای دیگر عبارتند از COMPUTERNAME، USERNAME (نام رایانه و نام کاربری).

در جاوا، CLASSPATH فهرست های فایل های کلاس جاوا را نگه داری میکند.

که میتونید هم اینطوری استفاده کنید

java -classpath D:\myprogram com.packagename.myApplication

و هم توی مسیرهای ویندوز از طریق cmd اینطوری استفاده کنید

set CLASSPATH=D:\myprogram
java com.packagename.myApplication


اگر هم برنامه تون به کتابخانه نیاز داره اینطورهم میتونید استفاده کنید

java -classpath D:\myprogram;D:\myprogram\lib\supportLib.jar com.packagename.myApplication


ClassNotFoundException
این اکسپشن زمانی رخ می‌دهد که ما با وارد کردن نام استرینگی کلاس در یکی از متدهای ()Class.forName()،‌ ClassLoader.findSystemClass و یا ()ClassLoader.loadClass از JVM می‌خواهیم تا کلاسی را فقط بارگذاری نماید اما کلاس مورد نظر در مسیری که انتظار می‌رود باشد یافت نمی‌شود!

اجرای برنامه بدون به‌روزرسانی classpath در فایل JAR،‌ یکی از رایج‌ترین دلایل ایجاد این اکسپشن است؛ به‌عنوان مثال، هنگامی که کد JDBC را برای اتصال به دیتابیس خود (مثلاً MySQL) اجرا می‌کنید، در‌حالی‌که classpath شما فایل JAR آ‌ن‌را ندارد،‌ ClassNotFoundException رخ خواهد داد (کد JDBC یا Java Database Connectivity،‌ یکی از APIهای زبان برنامه‌نویسی جاوا است که چگونگی دسترسی به دیتابیس را تعریف می‌کند.)

saeed51100
پنج شنبه 30 فروردین 1397, 00:58 صبح
بسیار ممنون