ক্লাসপথটি ক্লাস লোড করার জন্য অবস্থানগুলির একটি তালিকা।
এই 'অবস্থানগুলি' হয় ডিরেক্টরি, বা জার ফাইল হতে পারে।
ডিরেক্টরিগুলির জন্য, JVM কোনও শ্রেণি লোড করার জন্য একটি প্রত্যাশিত প্যাটার্ন অনুসরণ করবে। যদি আমি ডিরেক্টরির আছে / myproject / ক্লাস: সি আমার ক্লাসপাথ মধ্যে, এবং আমি একটি বর্গ লোড করার প্রচেষ্টা করা com.mycompany.Foo এটি একটি ডিরেক্টরির নামক ক্লাস ডিরেক্টরি অধীনে দেখবে, কম তারপর অধীনে একটি ডিরেক্টরি নামক mycompany , এবং শেষ পর্যন্ত এটি ডিরেক্টরিতে Foo.class নামক একটি ফাইল সন্ধান করবে ।
দ্বিতীয় উদাহরণে, জার ফাইলগুলির জন্য, এটি শ্রেণীর জন্য জার ফাইলটি অনুসন্ধান করবে। একটি জার ফাইলটি বাস্তবে কেবল উপরের মতো ডিরেক্টরিগুলির একটি জিপড সংগ্রহ। আপনি যদি কোনও জার ফাইলটি আনজিপ করেন, আপনি উপরের প্যাটার্ন অনুসরণ করে একগুচ্ছ ডিরেক্টরি এবং ক্লাসের ফাইল পাবেন।
সুতরাং জেভিএম ক্লাস সংজ্ঞা লোড করার চেষ্টা করার সময় ক্লাসের সংজ্ঞা সন্ধানের জন্য শেষ থেকে শুরু করে একটি শ্রেণিপথকে অনুসরণ করে। উদাহরণস্বরূপ, ক্লাসপথে:
সি: / myproject / শ্রেণীর; সি: /myproject/lib/stuff.jar; সি: /myproject/lib/otherstuff.jar
জেভিএম প্রথমে ডিরেক্টরি ক্লাসগুলি অনুসন্ধান করার চেষ্টা করবে , তারপরে স্টাফ.জারে এবং অবশেষে otherstuff.jar এ ।
আপনি যখন ক্লাসনটফাউন্ডএক্সেপশন পান, এর অর্থ জেভিএম পুরো ক্লাসপথটি অতিক্রম করেছে এবং আপনি যে ক্লাসটি উল্লেখ করার চেষ্টা করেছেন তা খুঁজে পেল না। জাভা জগতের প্রায়শই সমাধানটি হ'ল আপনার ক্লাসপথটি পরীক্ষা করা।
আপনি জাভা-সিপি এবং তারপরে আপনার ক্লাসপাথ বলে কমান্ড লাইনে একটি শ্রেণিপথ সংজ্ঞায়িত করেন । Eclipse এর মতো আইডিইতে আপনার ক্লাসপথটি নির্দিষ্ট করার জন্য আপনার কাছে একটি মেনু বিকল্প থাকবে।