मैं एक linux मशीन पर एक ही मुद्दा था। मैं पहली बार में काफी निराश था, क्योंकि मैंने जेडीके और जेआरई दोनों को स्थापित किया है। मैं एक साथ संस्करण 1.6, 1.7 और 1.8 का उपयोग कर रहा हूं, और मैंने सब कुछ ठीक से सेट करने के लिए विकल्पों के साथ बहुत कुछ खेला है।
समस्या को हल करने के लिए काफी बेवकूफ था, फिर भी जवाबी-सहज। जब मैं सही JDK का उपयोग कर रहा था, मैंने उन उपकरणों के मार्ग पर ध्यान दिया, जिनके बारे में jar maven ने शिकायत की थी - यह होने की उम्मीद कर रहा था
$JAVA_HOME\..\lib\tools.jar
$JAVA_HOMEचर मेरी सीधे बताया jdkफ़ोल्डर ( /usr/local/javaजो भी सही था $PATHप्रविष्टि और वैकल्पिक प्रतीक लिंक)। यह वास्तव में जावा निर्देशिका के बाहरlib फ़ोल्डर की खोज करता है , क्योंकि:
$JAVA_HOME\..\lib\tools.jar
के लिए संकल्प करेंगे
/usr/local/lib/tools.jar
और यह एक वैध स्थान नहीं है।
इसे हल करने के लिए, $JAVA_HOMEचर को इस स्थान /usr/local/java/jre(JDK पथ मानकर /usr/local/java) को इंगित करना चाहिए - jreJDK स्थापना निर्देशिका के अंदर वास्तव में फ़ोल्डर है, जो प्रत्येक JDK के साथ आता है। यह नया सेटअप JRE निर्देशिका को देखने के लिए मावेन का कारण बनेगा, जो कि JDK का हिस्सा है:
$JAVA_HOME\..\lib\tools
जो अब हल करता है
/usr/local/java/jre/../lib/tools.jar
और अंत में
/usr/local/java/lib/tools.jar
जो tools.jarवास्तव में रहता है।
तो, यहां तक कि आप वास्तव में JRE के बजाय JDK का उपयोग कर रहे हैं, $ JAVA_HOME को JRE को इंगित करना होगा। याद रखें, ओएस विकल्प को अभी भी जेडीके को संदर्भित करना चाहिए।