نوشته شده توسط
saeed51100
سلام
مفهوم
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های زبان برنامهنویسی جاوا است که چگونگی دسترسی به دیتابیس را تعریف میکند.)