আমার একটি লিনাক্স মেশিনে একই সমস্যা ছিল। আমি প্রথমে বেশ হতাশ হয়ে পড়েছিলাম, কারণ আমি জেডিকে এবং জেআরই উভয়ই ইনস্টল করেছি। আমি একই সাথে সংস্করণ 1.6, 1.7 এবং 1.8 ব্যবহার করছি এবং সবকিছু ঠিকঠাকভাবে সেট করার বিকল্পগুলির সাথে আমি অনেক খেলেছি।
সমস্যাটি সমাধান করতে বেশ বোকা, তবুও পাল্টা স্বজ্ঞাত। আমি যখন জেডিকে সঠিকভাবে ব্যবহার করছিলাম তখন আমি জার মাভেনের যে সরঞ্জামগুলির অভিযোগ করেছিল সেগুলির পথে মনোযোগ দিয়েছি - এটি এটি প্রত্যাশা করেছিল
$JAVA_HOME\..\lib\tools.jar
$JAVA_HOMEপরিবর্তনশীল আমার সরাসরি উল্লেখ jdkফোল্ডারে ( /usr/local/javaযা সঠিক ছিল $PATHএন্ট্রি এবং বিকল্প sym লিঙ্ক)। এটি আসলে জাভা ডিরেক্টরিটির বাইরেlib ফোল্ডারটি অনুসন্ধান করে কারণ:
$JAVA_HOME\..\lib\tools.jar
সমাধান করবে
/usr/local/lib/tools.jar
এবং এটি কোনও বৈধ অবস্থান নয়।
এটি সমাধানের জন্য, $JAVA_HOMEপরিবর্তনশীলটির পরিবর্তে এই অবস্থানটি নির্দেশ করা উচিত /usr/local/java/jre(জেডিকে পাথটি ধরে নেওয়া /usr/local/java) - jreজেডিকে ইনস্টলেশন ডিরেক্টরিটির ভিতরে প্রকৃতপক্ষে ফোল্ডার রয়েছে যা প্রতিটি জেডিকে নিয়ে আসে। এই নতুন সেটআপটি জেআরই ডিরেক্টরিতে মেভেনকে দেখাবে, এটি জেডিকের অংশ:
$JAVA_HOME\..\lib\tools
যা এখন সমাধান হয়
/usr/local/java/jre/../lib/tools.jar
এবং অবশেষে
/usr/local/java/lib/tools.jar
যা tools.jarসত্যই বাস করে।
সুতরাং, এমনকি আপনারাও জেআরই পরিবর্তে জেডিকে ব্যবহার করছেন, $ জাভাহোমকে জেআরইতে নির্দেশ করতে হবে। মনে রাখবেন, ওএস বিকল্পটির এখনও জেডিকে উল্লেখ করা উচিত।