Tools.jar का पता लगाने में असमर्थ


181

मैं जावा में एक प्रोजेक्ट बना रहा हूं।

मेरी यह त्रुटि है:

Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar

मैंने एक JDK और फ़ोल्डर स्थापित किया है: C:\Program Files\Java\jre6\libमेरे सिस्टम में है लेकिन फ़ाइल tools.jarवहाँ नहीं है।


मुझे लगता है कि उपकरण JDK के हैं जो JRE के नहीं हैं। ऐसा नहीं है? C: \ Program Files \ Java \ jdk1.6.0_24 \ lib
एडविन डेलोरोज़ो

4
एक तरफ के रूप में, जो मुझे आश्चर्यजनक लगता है वह यह है कि कार्यक्रम ने वास्तव में कहा था कि यह कहां देखा गया है। तो कुछ कार्यक्रम इस उपयोगी सुराग प्रदान करते हैं।
पीटर फ्लिन

डुप्लिकेट प्रश्न भी देखें: stackoverflow.com/q/9119479/3328979 उत्तर यहाँ से किसी तरह बेहतर हैं।
अरशसॉफ्ट

जवाबों:


188

हां, आपने जावा डेवलपमेंट किट (JDK) के बजाय जावा रनटाइम एनवायरनमेंट (JRE) डाउनलोड और इंस्टॉल किया है। उत्तरार्द्ध में tools.jar, java.exe, javac.exe, आदि हैं।


7
@olidev अभी इसकी जाँच कर रहा है लेकिन फिर भी इस मुद्दे की ओर इशारा नहीं कर सकता है !! यह आपका जवाब कैसे हो सकता है? आपने पहले ही उल्लेख किया है कि आपने jdk और jre स्थापित किया है। मैं वास्तव में एक ऐसी ही समस्या का सामना कर रहा हूँ और यह अभी भी जारी है :-( आवश्यकता पता है कि कैसे आप यह काम कर रहा ?? मिला है।
भाड़े

7
JAVA_HOME और / बिन निर्देशिका को अपने पथ में जोड़ें। आपको पता चलता है कि यह उत्तर दो साल पुराना है, है ना?
duffymo

17
Ubuntu में: # apt-get install default-jdkऔर त्रुटि गायब हो जाती है।
ज़ावी मोंटेरो

2
चाबी? JDK। यही उपकरण हैं। JRE नहीं करता है।
duffymo

2
जरुरी नहीं। यह मेरे लिए ऐसा लगता है जैसे वे स्वयं के बजाय अंदर से JAVA_HOMEसेट हो गए होंगे । jrejdkjdk
ArtOfWarfare

88

यदि यह अभी भी किसी के लिए एक मुद्दा है, तो मेरे पास पिछले उत्तरों पर थोड़ा स्पष्टीकरण है। मैं केवल एक JDK स्थापित के साथ चींटी का उपयोग करके इसी मुद्दे में चल रहा था। हालाँकि, JDK इंस्टॉलर ने मुझे इस तरह एक डायरेक्टरी स्ट्रक्चर दिया:

 Directory of C:\Program Files\Java

05/08/2012  09:43 AM    <DIR>          .
05/08/2012  09:43 AM    <DIR>          ..
05/08/2012  09:46 AM    <DIR>          jdk1.7.0_04
05/08/2012  09:19 AM    <DIR>          jre6
05/08/2012  09:44 AM    <DIR>          jre7
               0 File(s)              0 bytes

और जब मैं चींटी भागा, तो इसने jre7 उपनिर्देशिका के तहत tools.jar नहीं मिलने की शिकायत की। यह तब तक नहीं था जब तक set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04"कि त्रुटि दूर नहीं हो गई।


7
यह। धन्यवाद! (हममें से जिनके पास विभिन्न jre / jdk संस्करण स्थापित हैं)
डैरन थॉमस

इसने मेरे लिए काम किया..बस मैंने i \ _ के साथ भी रास्ता दिया..जिसका मुद्दा था
John

धन्यवाद, काश मैं आपको 2 अप दे सकता!
ल्यूक

38
  1. जावा एसडीके स्थापित करें ।

  2. JDK स्थान के मान के साथ JAVA_HOME नामक एक सिस्टम एनवायरनमेंट वेरिएबल जोड़ें ।
    कंट्रोल पैनल \ सिस्टम और सिक्योरिटी \ सिस्टम पर जाएं। उन्नत सिस्टम सेटिंग्स, पर्यावरण चर, सिस्टम चर, नया ... उदाहरण:
    चर नाम: JAVA_HOME
    परिवर्तनीय मूल्य: C: \ Program Files \ Java \ jdk1.7.0_21

  3. अपने CMD विंडो को बंद / फिर से खोलना ताकि चींटी कमांड को फिर से चलाने का प्रयास करने से पहले नया चर प्रभावी हो जाए।


4
JAVA_HOME चर ने सब कुछ तय किया, बहुत बहुत धन्यवाद :)
krinn

4
PATH के साथ /bin , JAVA_HOME बिना /bin
डैनियल डब्ल्यू।

1
धन्यवाद, मैं इसके लिए घंटों से कम कर रहा था !!
kcho0

1
Windows8.1 पर आकर्षण की तरह काम करें
उमर अब्बास

एक केक की तरह काम करते हैं !! धन्यवाद
हेदी

28

मेरे पास काम करने के लिए एक ही समस्या और नकल C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar थी C:\Program Files\Java\jre6\lib\ext


4
कक्षाओं के साथ स्थानीय प्रतिष्ठानों को प्रदूषित करना जो स्पष्ट रूप से वहां नहीं हैं, मेरे मशीन सिंड्रोम पर वर्क्स का नेतृत्व कर सकते हैं। यहां तक ​​कि अगर एक औपचारिक निर्माण प्रक्रिया जगह में है। tools.jar, जिसमें JDK में उपकरणों और उपयोगिताओं के समर्थन के लिए गैर-मुख्य वर्ग शामिल हैं
real_paul

10

JAVA_HOMEइंगित करने के लिए अपना पर्यावरण चर सेट करें C:\Program Files\Java\jdk1.7.0_02


10

यदि आप लिनक्स में हैं, तो आप सिस्टम पर जावा स्थापित करके इसे हल कर सकते हैं:

sudo apt-get install openjdk-7-jdk openjdk-7-jre

जाहिर है, आप Java 8 के लिए 'sudo apt-get install openjdk-8-jdk openjdk-8-jre' का उपयोग कर सकते हैं
schlenger

7

नहीं, आपकी निर्देशिका संरचना के अनुसार, आपने एक JRE स्थापित किया है, JDK नहीं। एक अंतर है।

C:\Program Files\Java\jre6\lib
                      ^^^^

यह कुछ इस तरह होना चाहिए:

C:\Program Files\Java\jdk1.6.0_24

हाँ आप सही है! लेकिन मैं jre की स्थापना कैसे रद्द कर सकता हूं? अग्रिम धन्यवाद
olidev

प्रारंभ> नियंत्रण कक्ष> सॉफ्टवेयर (या समान, विन * संस्करण पर निर्भर करता है)
शॉन पैट्रिक फ्लोयड

लेकिन jre को हटाने के लिए इस तरह का कोई विकल्प नहीं है। मैंने अभी जाँच की!
जैतून

@Joesy ठीक है, अगर आप इसे नहीं पा सकते हैं, तो इसे छोड़ दें, इसे हटाने की कोई आवश्यकता नहीं है (डिस्क स्थान को पुनर्प्राप्त करने के लिए छोड़कर)। आप कई JDKs और / या JREs समानांतर में स्थापित कर सकते हैं
सीन पैट्रिक फ्लोयड


5

बहुत अधिक समय के लिए देख मत खर्च करो tools.jar । यदि आपको इस तरह की त्रुटि मिलती है, तो परेशान न हों।

यदि आपके पास पहले से जावा JDK 1.5 है, तो अपने libफ़ोल्डर में जाएं, और tools.jarवहां उपलब्ध होना चाहिए। अपने चींटी binफ़ोल्डर में इसे कॉपी और पेस्ट करें , फिर कमांड का उपयोग करने का प्रयास करेंant -version

आपको अपेक्षित परिणाम देखना चाहिए।


2
क्या यह दृष्टिकोण अनुशंसित है?
S_M

4

मैं एक 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 को इंगित करना होगा। याद रखें, ओएस विकल्प को अभी भी जेडीके को संदर्भित करना चाहिए।


1
मुझे खिड़कियों के साथ एक ही मुद्दा मिला, आपने मेरी समस्या का समाधान किया।
यिगंग वू डे

मैं यह सब करने की कोशिश की है और अभी भी tool.jar के साथ मुद्दा मिलता है। क्या रेंडूप प्रयास के लायक है? मतलब यह सभ्य इकाई परीक्षण उत्पन्न करता है? इसका निराशाजनक हिस्सा यह है कि मेरे विंडोज बॉक्स पर अन्य जावा प्रोग्राम ठीक काम करता है।
मि। स्मिथ

@MrSmith, जब आप त्रुटि प्राप्त करते हैं, तो राउण्डअप के लिए क्या रास्ता है। हो सकता है कि रेंडूप की अपनी एनवी सेटिंग हो जो यह बताता हो कि जेआरई कहां है? इसके अलावा, क्या आपने अपने env वेरिएबल्स को बदलने के बाद अपने शेल विंडो (यदि शेल से चल रहे हैं) को फिर से खोल दिया है?
Ivaylo Slavov

3

अपने jdk पथ पर जाएँ जहाँ आपने अपना जावा स्थापित किया था

उदाहरण के लिए मेरे पीसी में JDK निम्नलिखित पथ में स्थापित किया गया है

"C: \ Program Files \ Java \ jdk1.7.0_17 \";

उदाहरण के लिए, "C: \ Program Files \ Java \ jdk1.7.0_17 \ lib" जैसे lib फ़ोल्डर में जाएं

उपकरण निर्देशिका में फ़ाइल है

इस फाइल को कॉपी करें और इसे jre7 डायरेक्टरी के उदाहरण के लिए lib forlder में past करें

"C: \ Program Files \ Java \ jre7 \ lib"


2

मुझे जावा JDK स्थापित JAVA_HOMEकरने और ..\jdk1.6.0_45\binफ़ोल्डर में सेट करने के बाद भी यही समस्या थी ।

चींटी अभी भी फ़ोल्डर tools.jarमें C:\Program Files\Java\jre6\libखोजने की कोशिश कर रही है ।
मैंने इसे JAVACMDपर्यावरण चर और फ़ोल्डर java.exeमें इसके लिए निर्धारित पथ जोड़कर तय किया है jdk
मेरे मामले में यह थाC:\Program Files\Java\jdk1.6.0_45\bin\java.exe


2

आप उबंटू पर इसी तरह की समस्या का सामना कर सकते हैं:

Embedded error: tools.jar not found: /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar

समस्या JAVA_HOME के ​​साथ है जो ठीक से सेट नहीं है।

तो, Java 14 का उपयोग करके Ubuntu 14.04 x64 पर:

sudo apt-get install openjdk-8-jdk openjdk-8-jre
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

2

इसे निम्नानुसार चलने से पहले JAVA_HOME चर सेट करके विंडोज़ ओएस में मेरे साथ हल किया गया है:

JAVA_HOME = C: \ Program Files \ Java \ jdk1.8.0_111 सेट करें


मुझे इसके लिए मजबूर होना पड़ा। चींटी 10+ एक अज्ञात चर में JDK की तलाश कर रही है। मुझे नहीं पता था कि यह जेडीके कहां मिल रहा था, लेकिन जब मैं कमांड लाइन में हो सकता हूं और जबाव होम को मजबूर किया गया तो यह काम कर गया।
कमिंग

2

जैसा कि कई लोगों ने उल्लेख किया है, ऐसा लगता है कि आप टूल.जर फ़ाइल के लिए JDK के बजाय अपने JRE में देख रहे हैं।

मैं यह भी उल्लेख करना चाहूंगा कि जेडीके के हाल के संस्करणों पर, कोई और टूल नहीं है। फाइल। मैंने आज (JDK संस्करण 12) के रूप में सबसे हालिया JDK डाउनलोड किया और मुझे कोई टूल नहीं मिला। मुझे JDK संस्करण 8 (1.8.0) को https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html डाउनलोड करना होगा। मैंने उस संस्करण को डाउनलोड किया, Tools.jar फ़ाइल को लिया और अपने हाल के संस्करण के lib फ़ोल्डर में डाल दिया।


1

सुनिश्चित करें कि आपके PATH चर में% JAVA_HOME% और% JAVA_HOME% / बिन पथ दोनों जोड़े गए हैं।

टूल.जर को सही स्थिति में कॉपी करने के बारे में सभी उत्तर सबसे अच्छे विचार हैं।

सुनिश्चित करें कि आपका आईडीई इन जार को उसी तरह पा सकता है जिस तरह से इसे डिज़ाइन किया गया था और इसके लिए इरादा था।


1

ग्रहण की खिड़की में> वरीयताएँ> जावा> स्थापित जेआरई, मैंने निर्देशिका को jdk 1.7 में jre निर्देशिका को इंगित किया और मैंने मेरे लिए फ़ाइल काम की जैसे C: \ Program Files \ Java \ jdk1.7.0_71 \ jre


1

मेरे पास मेरा JDK_path ( C:\Program Files\Java\jdk1.7.0_79) था JAVA_HOMEऔर मेरे JDK_path \ bin में भीPATH । लेकिन, अभी भी मेरे चींटी JDK के बजाय JRE का उपयोग कर रहे थे।

समस्या यह थी C:\ProgramData\Oracle\Java\javapathकि मैं PATHचर में अपने JDK_path से पहले था । मैंने केवल अपने JDK_path को oracle से पहले स्थानांतरित किया और समस्या हल हो गई।


1

इस समस्या को हल करने के लिए मैंने केवल C: \ Program Files \ Java \ jre1.8.0_112 \ lib to C: \ Program Files \ Java \ jdk1.8.0_112 \ lib से Tools.jar फ़ाइल की प्रतिलिपि बनाई है ताकि मेरे पास दो टूल हों। एक के बजाय फ़ाइलें और समस्या गायब हो गई।


0
Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar

अगर आपने jdk स्थापित किया है

..Java/jdkx.x.x

फोल्डर स्टॉल में मौजूद होना चाहिए और पूरा रास्ता देना चाहिए

C:\Program Files\Java\jdk1.6.0\lib\tools.jar

0

सुनिश्चित करें कि आपका वर्गपथ सही रूप से सेट है और JDK के सही संस्करण की ओर इशारा करता है जिसे आपने स्थापित किया है। इसके अलावा, क्या आप ओपन JDK का उपयोग कर रहे हैं? इससे पहले कि मैं खुली JDK से Suns JDK में जाने की कोशिश करूं, मेरे पास यह मुद्दा है। यह एक उदाहरण है कि उस मुद्दे को कैसे तय किया जा सकता है।


0

maven-compiler-plugin jdk का उपयोग करते हैं, jre का नहीं, tools.jar का C: \ Program Files \ Java \ jdk1.6.0 \ lib \ tools.jar में होता है। आपको JRE के साथ JRE System Libary प्रोजेक्ट को कॉन्फ़िगर करना होगा, jar नहीं। यह सबसे सरल उपाय है।


0
  • अपनी चींटी फ़ाइल पर राइट क्लिक करें
  • "Run as" पर जाएं फिर "Ant Build ..." पर क्लिक करें
  • "JRE" टैब पर जाएं
  • एक JDK चुनें और एक JRE नहीं

0

मेरे लिए क्या काम कर रहा है: मैंने जावा 1.7 का एक पुराना संस्करण डाउनलोड किया

मैं वास्तव में C: / प्रोग्राम फाइल्स X86 / Java BUT से अपना JAVA_HOME सेट करता हूं, 1.7 वर्जन इंस्टॉल करने के बाद मैंने प्रोग्राम फाइल्स / जावा में एक और जावा। और इस समय मुझे यहां उपकरण मिल गए हैं। फिर मैं इस नए रास्ते के लिए बदल गया और यह काम कर रहा है


0

मैं भी उसी त्रुटि का सामना कर रहा था। Java_Home पाथ को C: \ Program Files \ Java \ jdk1.8.0_121 पर सेट करने के बाद इसे हटा दिया गया था। कृपया सुनिश्चित करें कि बिन पथ में शामिल नहीं है और सिस्टम पथ चर में% JAVA_HOME% \ बिन परिभाषित करने के बाद jdk1.8.0_121 के बाद कोई स्लैश नहीं है।


0

यदि आप RHEL वातावरण में हैं, तो पैकेज का नाम tools.jar "Openjdk-devel" के साथ समाप्त होगा।


0

यह विंडोज के लिए समाधान है: कंप्यूटर में> उन्नत सिस्टम सेटिंग्स> उन्नत> पर्यावरण चर ... , इसे सिस्टम चर में जोड़ें :

यहां छवि विवरण दर्ज करें


0

मैंने Tools.jar डाउनलोड कर लिया है और उसके बाद मैंने इसे त्रुटि संदेश में पथ में कॉपी कर लिया है।

C: \ Program Files \ Java \ jdk-11.0.1 \ bin> यहाँ tools.jar पेस्ट करें

उसके बाद मैंने स्प्रिंग टूल सूट 4 को फिर से शुरू किया और सब कुछ काम कर रहा था। जब मैं उस समस्या को ठीक करने की कोशिश कर रहा था जिसे मैंने नया पर्यावरण चर बनाया है: नियंत्रण कक्ष / प्रणाली / उन्नत / पर्यावरणीय चर / नया नाम: JAVA_HOME मान: C: \ Program Files \ Java \ jdk-11.0.1 लेकिन मुझे नहीं पता है यह आवश्यक है।


0

हो सकता है कि आपने OS में JRE को अपडेट किया हो, और इसके अलावा पर्यावरण के "पथ" में एक एंट्री चर जोड़ा गया हो ... "/ Oracle / jer" जो आपके JAVA_HOME को अधिलेखित कर दे। JAVA_HOME को "पथ" से निकालने का प्रयास करें।


0

यह सुनिश्चित करने में मदद करता है, मेरे लिए समस्या यह थी कि मेरे पैठ पर्यावरण चर में 2 प्रविष्टियाँ थीं, जो जावेद निष्पादन योग्य स्थान की ओर इशारा करती थीं।

मैंने यह सुनिश्चित करने के लिए चर को साफ किया कि "% JAVA_HOME% \ bin" केवल एक प्रविष्टि थी जो मेरे जावा निष्पादन योग्य वाले स्थान को संदर्भित करती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.