JRE 1.7 - java संस्करण - रिटर्न: java / lang / NoClassDefFoundError: java / lang / ऑब्जेक्ट


135

कोई भी जावा एप्लिकेशन, या सिर्फ 'जावा' चलाने पर, jvm विफल हो जाता है:

VM
जावा / लैंग / NoClassDefFoundError के आरंभीकरण के दौरान त्रुटि हुई : जावा / लैंग / ऑब्जेक्ट

यहाँ गलत उत्तरों की एक सूची दी गई है :

  1. सही जावा होम निर्देशिका, जिसमें / बिन निर्देशिका शामिल है, वैश्विक PATH पर है

  2. JAVA_HOME सही तरीके से सेट किया गया है

  3. कमांड java -fullversion कार्य को निष्पादित करना

    $ java -fullversion
    
    ./java full version "1.7.0_05-b05"
  4. / Usr / जावा में प्रतीकात्मक लिंक सभी सही जावा इंस्टॉलेशन की ओर इशारा करते हैं

  5. जब मैंने सिस्टम बनाया तो मैंने कोई 'डिफ़ॉल्ट' जावा स्थापित नहीं किया

  6. java -version विफल ... ऊपर के समान त्रुटि

  7. जावा इंस्टॉलेशन के डायरेक्टरी स्ट्रक्चर के तहत कमांड जारी करना भी काम नहीं करता है

  8. यह 64-बिट के लिए 64-बिट जावा है

कोई विचार?


2
ऐसा लगता है कि rt.jarफ़ाइल लोड करने में समस्या है , जिसे JVMलोड करने के समय की आवश्यकता हैJRE
Bhavik Ambani

शायद कुछ अनुमति से संबंधित मुद्दे?
मार्क ब्रैमनिक

किसी भी लापता फ़ाइलों / फ़ाइल अनुमतियों को देखने के लिए ट्रस / स्ट्रेस चलाएँ
Jayan

inbytebg.com/techblog/?p=189 , पहली टिप्पणी पर इंस्टॉलर पैच करने के लिए एक हेक्स ट्रिक है
सेबस्टियन

जवाबों:


186

यह समस्या अनुचित जावा इंस्टॉलेशन से उपजी है।

संभावना १

नोट: यह परिदृश्य केवल जावा 8 और पूर्व पर लागू होता है। जावा 9 से शुरू होकर, JRE को अलग तरीके से संरचित किया जाता है। rt.jar और मित्र अब मौजूद नहीं हैं, और Pack200 का अब उपयोग नहीं किया जाता है।

जावा मानक पुस्तकालय जैसे विभिन्न जार, में निहित है rt.jar, deploy.jar, jsse.jar, आदि जब JRE पैक किया जाता है, इन महत्वपूर्ण जार फ़ाइलों के साथ संकुचित Pack200 और के रूप में जमा rt.pack, deploy.pack, jsse.pack, आदि जावा संस्थापक uncompress उन्हें माना जाता है। यदि आप इस त्रुटि का सामना कर रहे हैं, तो जाहिर तौर पर ऐसा नहीं हुआ।

आपको JRE के फ़ोल्डर और फ़ोल्डरों में unpack200सभी .packफ़ाइलों को मैन्युअल रूप से चलाने की आवश्यकता है ।lib/lib/ext/

खिड़कियाँ

एक .packफ़ाइल को अनपैक करने के लिए (उदाहरण के लिए rt.pack), चलाएँ:

"%JAVA_HOME%\bin\unpack200" -r -v rt.pack rt.jar

.packJRE रूट रन से सभी फ़ाइलों को पुनर्संगठित करने के लिए:

for /r %f in (*.pack) do "%JAVA_HOME%\bin\unpack200.exe" -r -q "%f" "%~pf%~nf.jar"

* nix

एक .packफ़ाइल को अनपैक करने के लिए (उदाहरण के लिए rt.pack), चलाएँ:

/usr/bin/unpack200 -r -v rt.pack rt.jar

.packJRE रूट रन से सभी फ़ाइलों को पुनर्संगठित करने के लिए:

find -iname "*.pack" -exec sh -c "/usr/bin/unpack200 -r -q {} \$(echo {} | sed 's/\(.*\.\)pack/\1jar/')" \;

संभावना २

आपने किसी अन्य तरीके से जावा को गलत तरीके से स्थापित किया है। शायद आपने व्यवस्थापक अधिकारों के बिना स्थापित किया है, या बस इंस्टॉलर से फ़ाइलों को निकालने की कोशिश की है। इंस्टॉलर और / या अधिक विशेषाधिकारों के साथ फिर से प्रयास करें। या, यदि आप इंस्टॉलर का उपयोग नहीं करना चाहते हैं, तो .tar.gzइसके बजाय जावा पैकेज का उपयोग करें।


2
यह एक Solaris प्रश्न है, विंडोज नहीं।
रॉबिन कैंटर्स

1
यह समाधान मदद करता है यदि आप सिर्फ जावा लिनक्स संग्रह फ़ाइल डाउनलोड करते हैं, और स्थापना स्क्रिप्ट का उपयोग नहीं करना चाहते हैं।
आलू 10

23
@Robin Kanters इस सटीक समस्या / त्रुटि संदेश के रूप में, इसके लक्षण और इसे ठीक करने के तरीके प्लेटफार्म-अज्ञेयवादी हैं, यह एक जावा आरई सवाल है, सोलारिस नहीं।

1
जावा में कुछ ऑटो अपडेट होने के बाद खिड़कियों पर इस समस्या की पुष्टि करें
लस्सी किन्नुनेन

5
मैं हमेशा बस का उपयोग for %i in (*.pack) do (..\bin\unpack200 "%i" "%~ni.jar" & del "%i")करता हूं (शायद किसी दिन मैं इसे थोड़ा अधिक मजबूत बनाऊंगा ताकि मुझे मैन्युअल रूप से मार्ग बदलना न पड़े, लेकिन फिर, मैं आमतौर पर .gzजेआरई की रिहाई का उपयोग करता हूं जो उन्हें पैक नहीं करता है। )
सिंतबर

31

जावा 8 के लिए * निक्स ओएस पर, <jdk root>/jre/lib(मेरे लिए /usr/java/jdk1.8.0_05/jre/lib) पर जाएं। इस निर्देशिका से, निष्पादित करें:

../../bin/unpack200 rt.pack rt.jar
../../bin/unpack200 jsse.pack jsse.rar
../../bin/unpack200 charsets.pack charsets.jar

यदि आपने एक और JRE स्थापित किया है, तो संस्करण की समस्याओं को रोकने के लिए, उसी unpack200JRE वाले जहाजों का उपयोग करें जिसे आप ठीक कर रहे हैं - यानी कमांड लाइन से, उपयोग करें ../../bin/unpack200(मेरे लिए, यह फैलता है /usr/java/jdk1.8.0_05/bin/unpack200), न कि सिर्फ unpack200


3
विकसित करने के लिए आपको कुछ अन्य पैकेजों को अनपैक करना होगा: "<jdk1.8_root>/lib" ../bin/unpack200 tools.pack tools.jarमें"<jdk1.8_root>/jre/lib/ext" ../../bin/unpack200 jfxrt.pack jfxrt.jar ../../bin/unpack200 localedata.pack localedata.jar
betontalpfa

कुछ लिपियों को यहां से सभी गायब हुए जार को मैन्युअल रूप से निकाले गए JDK: stackoverflow.com/questions/2203922/…
Kloe2378231

मेरे मामले में यही समस्या थी। मैं Ubuntu 18.04 का उपयोग कर रहा हूं। धन्यवाद!
बोन्चो वल्कोव

13

ऐसा लगता है कि 64 बिट आर्किटेक्चर के लिए आपको 32-बिट संस्करण और 64-बिट संस्करण jre स्थापित करना होगा (आर्किटेक्चर स्वतंत्र फाइलें जैसे कि rt.jar केवल 32-बिट संस्करण में वितरित की जाती हैं)।

याद रखें कि वैश्विक PATH पर्यावरण चर पर सही जावा निष्पादन योग्य को शामिल करने पर ध्यान दें।


3
आपको वह कहाँ मिला architecture independent files as rt.jar are distributed only in the 32-bin version?
अलेक्सांद्र एम

मैंने सिर्फ वितरण की सामग्री की जांच की
टॉमसो

+1 हां, आप सही हैं। rt.jar सोलारिस 64-बिट के लिए jre पैकेज में शामिल नहीं है।
अलेक्सांद्र एम

3
इसे जोड़ने के लिए - जब हम SmartOS पर मैन्युअल इंस्टॉल कर रहे हैं, तो हम इस पार भाग गए। Blogs.oracle.com/thefield/entry/solaris_11_jdk_installation (अधिकांश भाग के लिए) में मिले निर्देशों का पालन करें और आप ठीक हो जाएंगे।
खुशिल

मैंने दोनों पैकेज jdk-7u79-Solaris-sparcv9.tar.Z और jdk-7u79-Solaris-sparc.tar.Z स्थापित किए। अब ऐसा लग रहा है कि यह काम कर रहा है। Ty।
एलेक्स पाई

11

अधीर लोगों के लिए त्वरित समाधान ;) विंडोज मशीनों पर, यह कोशिश करें: C:\Windows\System32निर्देशिका पर जाएं और हटाएं java.exe(या इसे कुछ इस तरह से नाम बदलें java.exe.old)।

कम से कम 1.6 के बाद से, java.exeविंडोज निर्देशिका में ए नहीं होना चाहिए । अगर वहाँ है, यह कुछ से एक बचा है।

थोड़ा और पढ़ना:

मैं वास्तव में हैरान हूं कि 2012 से एक प्रश्न का अभी तक स्वीकृत उत्तर नहीं है और मैंने वास्तव में 2015 में अपने विन 7 32-बिट ओएस पर एक ही मुद्दे का सामना किया है!

तो क्या हुआ?

मूल रूप से, सब कुछ ठीक काम कर रहा था, मैंने एच 2 डेटाबेस डाउनलोड किया और जब मैंने शुरू करने की कोशिश की तो H2 Console (Command Line)मुझे मिला:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

मुझे यह प्रश्न मिला और मैं समान लक्षणों की पुष्टि करने में सक्षम था:

JAVA_HOME सही तरीके से सेट किया गया है:

echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_26

java -versionविफल रहता है, जबकि java --fullversionठीक काम करता है:

java -fullversion
java full version "1.6.0_45-b06"

समाधान:C:\Windows\System32 निर्देशिका पर जाएं और हटाएं (मैं वास्तव में नाम बदला गया) java.exeफ़ाइल !!!!

अब, मुझे मिलता है:

java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

और H2 Console (Command Line)ठीक काम करता है!

क्रेडिट्स इस फ़ोरम में अंतिम पोस्ट पर जाएं : https://bukkit.org/threads/java-lang-noclassdeffounderror-java-lang-object.70450/


मैं भी इस समस्या का सामना कर रहा हूं, लेकिन ऐसा लगता है कि आपके मामले में आप बस पुराने संस्करण का उपयोग कर रहे हैं। 1.6.0_26! = 1.6.0_45, आपके पुराने संस्करण में अभी समस्या नहीं है।
सेंटिमेन

अच्छी तरह से देखा गया! मेरे पास JDK 1.6.0_26 स्थापित है और यह "नया" संस्करण विंडोज सिस्टम 32 फ़ोल्डर से आया है। दोनों PATH पर्यावरण चर में हैं और मैं वास्तव में Windows आपूर्ति जावा रनटाइम का उपयोग नहीं करना चाहता। इसलिए, इसे हटाने से समस्या हल हो गई। हो सकता है कि आपके PATH में भी आपके दो java runtimes हों?
iaforek

मेरे लिए मेरा इंस्टॉलेशन rt.jar गायब था (जो कि आपको java.lang.Object लगता है)। दुर्भाग्य से जब मैं RPM को किकस्टार्ट से संस्थापित करता हूँ तो यह rt.jar को याद नहीं कर रहा है, लेकिन अगर मैं इसके बाद स्थापित करता हूँ, तो एक अजीब समस्या है।
सेंटिमेन

मैं RPM के साथ आपकी मदद नहीं कर सकता। उसके लिए माफ़ करना।
iaforek

4
मेरे लिए जावा के लिए प्रतीकात्मक लिंक C:\ProgramData\Oracle\Java\javapathसमस्या पैदा कर रहे थे। मैं पाथ पर्यावरण चर को बदलता हूं और अब यह काम करता है।
व्हाइटकनाइट

10

मैंने आज नया JDK डाउनलोड किया (1.8.0.73) शुरू हुआ c:> java.exeऔर बदनाम हो गया:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

मैं यहाँ पर अपने काम के समाधान को साझा करना चाहता था।

जब मैंने jdk\binफ़ोल्डर में cd'ied किया , तो जावा ठीक चलेगा इसलिए मुझे पता था कि यह था PATH। मैं इसे साबित करने के लिए सीएमडी में PATHबस \jdk\binगया और यह काम किया।

इसलिए, फ़ोल्डरों में से एक PATHको java.exeसंघर्ष का कारण बनना चाहिए था , मैंने सोचा। जैसा कि यह निकला, यह था C:\>ProgramData\Oracle\Java\javapathकि निष्पादकों के प्रति सहानुभूति रखता है ।

java.exeकी ओर इशारा कर रहा था jre\bin। फ़ाइल दूषित थी, जब मैंने शुरू किया था \jre\bin\java.exe- बिल्कुल वही त्रुटि। बिंगो। मैंने जेआरई को फिर से स्थापित किया और समस्या दूर हो गई। हैप्पी कोडिंग ...


8

आप शायद अपने इंस्टालेशन में rt.jar नामक एक फाइल याद कर रहे हैं जिसमें java.lang.Object के लिए क्लास फाइल है। अपनी स्थापित फ़ाइलों आदि की जाँच करें।

विशेष रूप से, ध्यान दें कि 32-बिट इंस्टॉलेशन में 64-बिट इनसैलर ओवरले (या "बगल में" स्थापित होता है)। दूसरे शब्दों में, पूरी तरह से काम करने के लिए 64-बिट इंस्टॉलेशन प्राप्त करने के लिए, आपको पहले 32-बिट इंस्टॉलेशन को चलाना होगा, और 64-बिट इंस्टॉलेशन के साथ 64-बिट इंस्टॉलेशन के साथ उसका पालन करना होगा ...

यदि इसके बजाय आप केवल 64-बिट इंस्टॉलेशन करते हैं, तो आप इंस्टॉलेशन में कुछ फाइलें गायब कर देंगे और ऊपर की तरह त्रुटियां प्राप्त करेंगे।


यह उत्तर का हिस्सा है। आपको अपने जावा एसडीके पथ के सभी / .pack फ़ाइलों को अपने / lib और lib / ext निर्देशिका में अनपैक करने की आवश्यकता है। unpack200 इसमें आपकी मदद कर सकता है। कृपया, Rigg802 की टिप्पणी देखें।
खतरे '

7

विंडोज 10 पर, मुझे जेआरई 1.8 (8u121) के साथ एक ही मुद्दे का सामना करना पड़ रहा था।
टाइपिंग

java -version

cmd शीघ्र रिटर्न देता है

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

अन्य सभी आदेश, echo %JAVA_HOME%, echo %JRE_HOME%, echo %PATH%, java -fullversionठीक काम किया।

सिस्टम प्रशासन पैनल पर पर्यावरण चर पर जाकर, PATH लिंक को हटा दें C:\ProgramData\Oracle\Java\javapath, और सुनिश्चित करें कि PATH लिंक में सेट किया गया है C:\Program Files\Java Folder\bin

उसके बाद, जांचें कि क्या फ़ाइल C:\Windows\System32मौजूद है java.exe; यदि सही है, तो उस फ़ाइल को हटा दें।

टंकण अब java -versionयह ठीक काम करता है।


2
मेरे पास विंडोज़ अपडेट के बाद भी यही समस्या है लेकिन मेरे पास फ़ोल्डर नहीं है C:\Program Files\Java Folder\bin। इसके बजाय मैं उपयोग C:\Program Files\Java\jdk1.8.0_161\binकरता हूं लेकिन यह मुझे वैसे भी मदद नहीं करता है। फ़ोल्डर में कोई फ़ाइल java.exe नहीं है System32
टॉम

6

यह समस्या तब होती है जब आप _uncompressing_इसके बजाय JDK को इसके द्वारा स्थापित करते हैं _executing_

उदाहरण द्वारा:

unzip jdk-6u45-linux-x64.bin  (wrong)

sh ./jdk-6u45-linux-x64.bin   (right)

पहले परिदृश्य में, रनटाइम लाइब्रेरी, rt.jar के रूप में, स्वचालित रूप से असम्बद्ध नहीं होती है (इस प्रकार, आप .jt के बजाय rt.pack फ़ाइलों को ढूँढ सकते हैं)।


4

मुझे हाल ही में यही समस्या थी। मेरे मामले में मेरी विंडोज़ 7 मशीन ने स्वचालित रूप से जावा डाउनलोड किया और C:\ProgramData\Oracle\Java\javapathमेरे पथ पर्यावरण चर की शुरुआत में जोड़ा , जिसने मेरे जावा को गड़बड़ कर दिया। एक बार जब मैं उस रास्ते से हट गया, तो यह काम कर गया।


3

अगर आप java बाइनरी पर "chmod u + rx" करते हैं और इसे चलाते हैं, तो यह jar फाइल्स को अनपैक करेगा और आप रनटाइम एरर के बिना jv -version कर सकते हैं


3

आप केवल 64 बिट स्थापित नहीं कर सकते, आपको पहले 32 बिट स्थापित करना होगा और फिर 64 बिट घटकों को जोड़ना होगा।

Java.com से:

JRE को 64-बिट सिस्टम पर स्थापित करना जो 32-बिट JVM को दो-चरणीय प्रक्रिया की अनुमति देता है: पहले 32-बिट JRE स्थापित करें और फिर 64-बिट संचालन के लिए अतिरिक्त समर्थन स्थापित करें। फ़ाइल नाम इस प्रकार हैं:


ओपी 64-बिट सिस्टम पर 32-बिट जेवीएम चलाने के बारे में कुछ भी नहीं बताता है ...?
wookie919

1

यदि आप 32-बिट स्थापित किए बिना 64-बिट संस्करण स्थापित करते हैं, तो यह त्रुटि अन्य सभी समस्याओं को ठीक करने के बावजूद होगी। मेरे पास एक नया डेल i7 64-बिट विंडोज 10 प्रो मशीन है जो जावा 8u71 चल रहा है। मेरे चर पथ% और% classpath% को पर्यावरण चर में जोड़ने और कई अन्य सुधारों की कोशिश करने के बाद, 64-बिट को अनइंस्टॉल करना, 32-बिट को स्थापित करना और फिर 64-बिट को पुनर्स्थापित करना इसे ठीक कर दिया गया।

कुछ समस्याएँ, जैसे आपकी फ़ाइलों को अनपैक नहीं करना, इत्यादि जिनका उल्लेख संभव कारणों के रूप में किया गया है, अभी भी समस्याएँ पैदा कर सकती हैं, लेकिन यदि आप ऐसा नहीं करते हैं, साथ ही, अन्य फ़िक्सेस काम नहीं करेंगे।


1

मेरे मामले में, मैं एक विंडो 8.1 (jdk1.8.0_77 स्थापित) का उपयोग करता हूं, मैंने तीन चीजें कीं:

  1. मैंने पिछले jdks हटा दिए
  2. मैंने C: \ Windows \ System32 के अंदर java.exe फ़ाइल का नाम बदला
  3. मैंने अपने PATH में C: \ ProgramData \ Oracle \ Java \ javapath को भी हटा दिया (echo% PATH 5)

और वॉयला ठीक हो गया!


1

मैंने इसी तरह के मुद्दे का सामना किया है और पाया है कि प्रोग्राम डेटा में सीलिंक (C: \ ProgramData \ Oracle \ Java \ javapath) गलत था। मैंने सही रास्ता दिया है और इसने काम किया है।

प्रोग्राम डेटा को सही करने के बारे में विवरण यहां उपलब्ध है


0

एक अन्य जवाब लिनक्स मामले में इसके बजाय tar.gz फ़ाइल का उपयोग किया जा सकता है। लगता है ऐसा ही कुछ सोलारिस प्लेटफॉर्म के लिए भी है। इस तरह से सभी फाइलें पहले से ही अपेक्षित प्रारूप में होंगी और कोई भी अनपैकिंग समस्या नहीं होगी।


आप क्या मतलब है बजाय tar.gz फ़ाइल का उपयोग करें?
कोरे तुगय

यह देखते हुए मैंने लगभग 2.5 साल पहले इसका जवाब दिया था कि मुझे java डाउनलोड साइट पर एक नज़र डालनी थी। वहां आपके पास जावा डाउनलोड करने का विकल्प है, जैसे कि .rpm LinuX के लिए। मुझे लगता है कि मैंने पहले कोशिश की और मुसीबत में भाग गया। इसके बजाय tar.gz फ़ाइल डाउनलोड करना बेहतर काम किया क्योंकि इसमें वांछित फ़ाइल प्रारूप में सभी सामग्री थी।
रयथमिक

0

मुझे JDK 1.7.0_40 i586 के साथ x86_64 लिनक्स इंस्टॉलेशन पर कुछ समस्या है। मुझे पता चला कि समस्या यह है कि आरपीएम जार फ़ाइलों को अनपैक नहीं कर सकता है, जैसा कि Rigg802 (हालांकि आरपीएम सफलता अंकन को पूरा करता है) द्वारा उल्लिखित है:

Unpacking JAR files...
        rt.jar...
/var/tmp/rpm-tmp.zLzkkb: /usr/java/jdk1.7.0_40/bin/unpack200: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Error: unpack could not create JAR file:

        /usr/java/jdk1.7.0_40/jre/lib/rt.jar

फ़ाइल /lib/ld-linux.so.2 को glibc-2.12-1.107.el6_4.4 द्वारा प्रदान किया गया है। i686 जो आरपीएम आरपीएम के आरपीएम के बीच नहीं है।

Oracle JDK rpm को 32 बिट संस्करण libgcc-4.4.7-3.el6 की आवश्यकता है। i686 को स्थापित किया जाना है

इसलिए, पहले glibc-2.12-1.107.el6_4.4.i686 और libgcc-4.4.7-3.el6.i686 इंस्टॉल करना है।


मैं फेडोरा 20 के साथ एक ही मुद्दा है और libgcc-4.8.2-7.fc20.i686 स्थापित करता हूं यह समस्या को हल करता है। टीएक्स
पाइप

0

मेरे लिए काम करने वाले त्वरित सुधार:

for file in $(find "$JAVA_HOME" -name "*pack")
do 
    unpack200 "${file}" "${test_file/%pack/jar}";
done

0

मैंने पाया कि यह त्रुटि तब हुई जब मैंने .rpm फ़ाइल निकाली।

मैंने तब उस फ़ोल्डर को हटा दिया और लिनक्स 64 के लिए jdk-7u79-linux-x64.tar.gz डाउनलोड किया और इसके बजाय इस फ़ाइल की सामग्री को निकाला। इसके अलावा: निर्यात JAVA_HOME = / opt / java / jdk1.7.0_79 निर्यात JDK_HOME = / opt / java / jdk1.7.0_79 निर्यात PATH = $ {JAVA -HOME} / bin


0

बस फिर से jre स्थापित करें । यह बस मेरी समस्या हल हो गई। (सोनारक्यूब स्टार्टअप बैच ने jdk स्थापित करने के बाद मुझे यह त्रुटि देनी शुरू की)


0

नियंत्रण कक्ष पर जाएं, जावा से संबंधित सामान की स्थापना रद्द करें (यदि खोला गया तो करीब से ग्रहण करें), फिर जावा और खुले ग्रहण, स्वच्छ परियोजनाओं को फिर से स्थापित करें।


Downvote। ओपी स्पष्ट रूप से विंडोज प्लेटफॉर्म पर नहीं है।
पीटर डे

0

बस यह सोलारिस पर किया और इस समान समस्या में भाग गया, जहां "जावा-वर्सन" भी काम नहीं करता है। एक कारण है कि डिस्ट्रो के 64 बिट संस्करण 32-बिट से छोटे हैं। यह वास्तव में ऊपर कहा गया है:

दूसरे शब्दों में, पूरी तरह से काम करने के लिए 64-बिट इंस्टॉलेशन प्राप्त करने के लिए, आपको पहले 32-बिट इंस्टॉलेशन को चलाना होगा, और 64-बिट इंस्टॉलेशन के साथ 64-बिट इंस्टॉलेशन के साथ उसका पालन करना होगा ...

इसलिए मैंने 32-बिट के लिए इंस्टॉलर चलाया:

sh jdk-6u131-solaris-sparc.sh

फिर मैंने 64-बिट के लिए इंस्टॉलर चलाया:

श jdk-6u131-solaris-sparcv9.sh

इससे मुझे कई जावा निष्पादनयोग्य मिलते हैं:

  • $ मिल गया। -नाम जाव
  • ./jdk1.6.0_131/db/demo/programs/scores/java
  • ./jdk1.6.0_131/db/demo/programs/vtis/java
  • ./jdk1.6.0_131/bin/java
  • ./jdk1.6.0_131/bin/sparcv9/java
  • ./jdk1.6.0_131/jre/bin/java
  • ./jdk1.6.0_131/jre/bin/sparcv9/java

Sparcv9 जावा के 64 बिट संस्करण हैं और 32 वें JDK के साथ स्थापित होने पर "-version" के साथ काम करते हैं।

  • ./jdk1.6.0_131/bin/sparcv9/java -version
  • जावा संस्करण "1.6.0_131"
  • जावा (TM) एसई रनटाइम एनवायरनमेंट (बिल्ड 1.6.0_131-b32)
  • जावा हॉटस्पॉट (TM) 64-बिट सर्वर VM (बिल्ड 20.131-b32, मिश्रित मोड)

-Dan


सच है, लेकिन सवाल 2012 से है और हम ओपी के मंच को नहीं जानते हैं। वह /usr/javaइसका जिक्र कर रहा है तो यह स्पष्ट रूप से एक लिनक्स / यूनिक्स जैसा ओएस है। आप सही कह रहे हैं कि जावा का सोलारिस इंस्टॉल जावा 8 तक किसी भी अन्य ओएस से अलग था। आप मूल रूप से पहले 32 बिट पैकेज और फिर 64 बिट पैकेज स्थापित करना पड़ा शीर्ष पर इसके बारे में। लेकिन है कि अतीत में सब अब 32-बिट जावा नहीं रह गया है सोलारिस पर समर्थित है, इसी तरह कहने के लिए मैक ओएस एक्स है
peterh

0

विंडो 10 में env में पहले से ही एक पथ मौजूद C:\>ProgramData\Oracle\Java\javapathहै जो निष्पादक के लिए सहानुभूति रखता है।

जब मैं एक नया संस्करण स्थापित करता हूं और अपने पर्यावरण चर से हटाता हूं, तो मेरी सारी परियोजना इसे दिखाना शुरू कर देती है।

मैं विंडो 10 में ग्रहण ऑक्सीजन का उपयोग कर रहा हूं

इसे हल करने के लिए: -

  1. मैं अभी C:\>ProgramData\Oracle\Java\javapathपर्यावरण चर से रास्ता निकालता हूं और नए env को JAVA_HOME और% JAVA_HOME% / बिन के रूप में जोड़ा गया

  2. मैं व्यवस्थापक विशेषाधिकारों के साथ jdk को पुनर्स्थापित करता हूं (पिछले JRE फ़ोल्डर को हटाएं)

  3. अपना ग्रहण प्रोजेक्ट खोलें> राइट क्लिक करें> गोटो प्रोप्राइटीज़> लाइब्रेरीज़ में> अब JRE सिस्टम लाइब्रेरी को हटाएं> ऐड लाइब्रेरी पर क्लिक करें> "JRE सिस्टम लाइब्रेरी" चुनें> नेक्स्ट पर क्लिक करें> "वर्कस्पेस डिफ़ॉल्ट JRE (jre1.8.x_xxx)"> चुनें समाप्त

मेरा मुद्दा हल हो गया है :) आशा है कि यह आपकी मदद करेगा :)



0

तो, मैं सब कुछ करने की कोशिश कर रहा था और अंत में ऐसा लगता है कि इसे अनइंस्टॉल करने के बाद जावा को फिर से स्थापित करना मेरी समस्या तय कर दिया।


0

अगर जावा स्थापना संस्करण के लिए कोई समस्या है

C: \ _ JAVA कहाँ है

जावा का स्थान देगा जो इसे उठा रहा है। यदि आपके पास अपनी स्थापना के अलावा कोई रास्ता है, तो उन फ़ाइलों को हटा दें या इसका नाम बदलें (जैसा कि _backup हो सकता है)। आपको जावा फ़ाइल का उचित संस्करण मिलेगा।


-1

मैंने एक ही मुद्दे का सामना किया, मैंने दो जावा संस्करण स्थापित किए हैं इसलिए इस मुद्दे का कारण बना। इस गो की पुष्टि करने के लिए और नियंत्रण कक्ष में जावा आइकन पर क्लिक करें यदि मुद्दा खुला नहीं है तो मुद्दा समान है, बस एक संस्करण को अनइंस्टॉल करें। केक का टुकड़ा। धन्यवाद।


-2

मैं एक ही मुद्दे का सामना कर रहा था: VM जावा / लैंग / NoClassDefFoundError के आरंभीकरण के दौरान त्रुटि हुई: जावा / लैंग / ऑब्जेक्ट

समस्या के समाधान के लिए नीचे दिए गए चरणों का पालन करें:

चरण 1. गोटो सी: \ प्रोग्राम फ़ाइलें \ और जावा फ़ोल्डर के लिए खोज।

चरण 2. C: \ Program Files \ Java फ़ोल्डर को हटाएं।

चरण ३. अपने संस्करण ३२ बिट / ६४ बिट के लिए http://www.oracle.com/technetwork/java/javase/downloads/index.html से नया Jdk डाउनलोड करें

चरण 4. JDK स्थापित करें

चरण 5: अब JAVA_HOME को "C: \ Program Files \ Java \ jdk1.8.0_91" पर सेट करें

चरण 6: ओपन कमांड प्रॉम्प्ट और जावा -version दर्ज करें।

यह काम करता हैं।


ओपी ने उल्लेख किया कि यहाँ JAVA_HOME की समस्या नहीं थी
अलेक्जेंड्रे ब्यूडेट

यदि यह पहले से ही jdk स्थान पर सेट है, तो JAVA_HOME को फिर से कॉन्फ़िगर करने की आवश्यकता नहीं है। आप बस चरण 5 को छोड़ सकते हैं। पुराने JDK को हटा दें और नया स्थापित करें।
महेश सुतार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.