JRE 1.7 - Java-Version - gibt Folgendes zurück: java / lang / NoClassDefFoundError: java / lang / Object

135

Wenn Sie eine Java-Anwendung oder nur 'Java' ausführen, schlägt die JVM fehl:

Bei der Initialisierung der VM
java / lang / NoClassDefFoundError ist ein Fehler aufgetreten : java / lang / Object

Hier ist eine Liste falscher Antworten:

  1. Das richtige Java-Ausgangsverzeichnis, einschließlich des Verzeichnisses / bin, befindet sich im globalen Pfad

  2. JAVA_HOME ist richtig eingestellt

  3. Das Ausführen des Befehls java -fullversion funktioniert

    $ java -fullversion
    
    ./java full version "1.7.0_05-b05"
  4. Die symbolischen Links in / usr / java verweisen alle auf die richtige Java-Installation

  5. Ich habe beim Erstellen des Systems kein 'Standard'-Java installiert

  6. java -version schlägt fehl ... gleicher Fehler wie oben

  7. Das Ausgeben der Befehle unter der Verzeichnisstruktur der Java-Installation funktioniert ebenfalls nicht

  8. Dies ist 64-Bit-Java für ein 64-Bit

Irgendwelche Ideen?

Tux Skywalker
quelle
2
Es scheint, dass es ein Problem beim Laden der rt.jarDatei gibt, das JVMzum Zeitpunkt des Ladens erforderlich istJRE
Bhavik Ambani
Vielleicht einige Probleme im Zusammenhang mit der Erlaubnis?
Mark Bramnik
Führen Sie truss / strace aus, um fehlende Dateien / Dateiberechtigungen anzuzeigen
Jayan
inbytebg.com/techblog/?p=189 , auf den ersten Kommentar gibt es einen Hex-Trick, um den Installer zu patchen
Sebastian

Antworten:

186

Dieses Problem ist auf eine fehlerhafte Java-Installation zurückzuführen.

Möglichkeit 1

HINWEIS: Dieses Szenario gilt nur für Java 8 und höher. Ab Java 9 ist die JRE anders strukturiert. rt.jar und Freunde existieren nicht mehr und Pack200 wird nicht mehr verwendet.

Die Java - Standardbibliothek ist in verschiedenen JAR - Dateien enthalten sind , wie rt.jar, deploy.jar, jsse.jarusw. Wenn die JRE verpackt ist, diese kritischen JAR - Dateien mit komprimiert werden Pack200 und gespeichert , wie rt.pack, deploy.pack, jsse.packusw. Das Java - Installer zu dekomprimieren sie soll. Wenn dieser Fehler auftritt, ist dies anscheinend nicht geschehen.

Sie müssen unpack200alle .packDateien in den JREs lib/und lib/ext/Ordnern manuell ausführen .

Windows

Führen Sie zum Entpacken einer .packDatei (zum Beispiel rt.pack) Folgendes aus:

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

So rekursieren Sie alle .packDateien rekursiv aus dem JRE-Stammlauf:

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

* nix

Führen Sie zum Entpacken einer .packDatei (zum Beispiel rt.pack) Folgendes aus:

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

So rekursieren Sie alle .packDateien rekursiv aus dem JRE-Stammlauf:

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

Möglichkeit 2

Sie haben Java auf andere Weise falsch installiert. Möglicherweise haben Sie ohne Administratorrechte installiert oder versucht, einfach Dateien aus dem Installationsprogramm zu extrahieren. Versuchen Sie es erneut mit dem Installationsprogramm und / oder weiteren Berechtigungen. Wenn Sie das Installationsprogramm nicht verwenden möchten, verwenden Sie .tar.gzstattdessen das Java-Paket.

Rigg802
quelle
2
Dies ist eine Solaris-Frage, nicht Windows.
Robin Kanters
1
Diese Lösung hat geholfen, wenn Sie nur die Java Linux-Archivdatei herunterladen und keine Installationsskripte verwenden möchten.
PotOfTea
23
@Robin Kanters, da diese genaue Problem- / Fehlermeldung, ihre Symptome und Möglichkeiten zur Behebung plattformunabhängig sind. Dies ist eine Java RE-Frage, nicht Solaris.
1
Bestätigen Sie, dass dieses Problem unter Windows auftritt, nachdem Java ein automatisches Update durchgeführt hat
Lassi Kinnunen
5
Ich benutze immer nur for %i in (*.pack) do (..\bin\unpack200 "%i" "%~ni.jar" & del "%i")(Vielleicht werde ich es eines Tages etwas robuster machen, damit ich den Pfad nicht manuell ändern muss, aber .gzandererseits benutze ich normalerweise nur die Version der JRE, die sie nicht packt. )
Synetech
31

Für Java 8 unter einem * nix-Betriebssystem gehen Sie zu <jdk root>/jre/lib(für mich /usr/java/jdk1.8.0_05/jre/lib). Führen Sie in diesem Verzeichnis Folgendes aus:

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

Um Versionsprobleme zu vermeiden, falls Sie eine andere JRE installiert haben, verwenden Sie dieselbe unpack200, die mit der JRE geliefert wird, die Sie reparieren - das heißt, verwenden Sie in der Befehlszeile ../../bin/unpack200(für mich wird dies erweitert /usr/java/jdk1.8.0_05/bin/unpack200), nicht nur unpack200.

Feindealpfa
quelle
3
Um zu entwickeln, müssen Sie einige andere Pakete auspacken: in "<jdk1.8_root>/lib" ../bin/unpack200 tools.pack tools.jarin"<jdk1.8_root>/jre/lib/ext" ../../bin/unpack200 jfxrt.pack jfxrt.jar ../../bin/unpack200 localedata.pack localedata.jar
Feindalpfa
Einige Skripte finden Sie hier, um alle fehlenden Gläser aus einem manuell extrahierten JDK zu entpacken: stackoverflow.com/questions/2203922/…
Kloe2378231
Dies war das Problem in meinem Fall. Ich benutze Ubuntu 18.04. Danke dir!
Boncho Valkov
13

Es scheint, dass Sie für eine 64-Bit-Architektur sowohl die 32-Bit-Version als auch die 64-Bit-Version von jre installieren müssen (architekturunabhängige Dateien wie rt.jar werden nur in der 32-Bit-Version verteilt).

Denken Sie dann daran, die richtige ausführbare Java-Datei in die globale Umgebungsvariable PATH aufzunehmen.

Tommaso
quelle
3
Woher hast du das architecture independent files as rt.jar are distributed only in the 32-bin version?
Aleksandr M
Ich habe gerade den Inhalt der Distribution untersucht
Tommaso
+1 Ja, du bist richtig. rt.jar ist nicht im jre-Paket für Solaris 64-Bit enthalten.
Aleksandr M
3
Um dies hinzuzufügen, sind wir bei einer manuellen Installation unter SmartOS darauf gestoßen. Befolgen Sie die Anweisungen unter blogs.oracle.com/thefield/entry/solaris_11_jdk_installation (größtenteils) und Sie werden in Ordnung sein.
Khushil
Ich habe beide Pakete jdk-7u79-solaris-sparcv9.tar.Z und jdk-7u79-solaris-sparc.tar.Z installiert. Jetzt sieht es so aus, als würde es funktionieren. Ty.
Alex Pi
11

Schnelle Lösung für ungeduldige Menschen;) Versuchen Sie auf Windows- Computern Folgendes: Gehen Sie zum C:\Windows\System32Verzeichnis und löschen Sie es java.exe(oder benennen Sie es in etwas Ähnliches um java.exe.old).

Seit mindestens 1.6 sollte es kein java.exeim Windows-Verzeichnis geben. Wenn ja, ist es ein Überbleibsel von etwas.

Ein bisschen mehr lesen:

Ich bin wirklich überrascht, dass eine Frage aus dem Jahr 2012 noch keine genehmigte Antwort hat und ich 2015 auf meinem Win 7 32-Bit-Betriebssystem auf dasselbe Problem gestoßen bin!

Was ist also passiert?

Grundsätzlich hat alles gut funktioniert, ich habe die H2-Datenbank heruntergeladen und als ich versuchte zu starten, H2 Console (Command Line)bekam ich:

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

Ich fand diese Frage und konnte die gleichen Symptome bestätigen:

JAVA_HOME ist richtig eingestellt:

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

java -versionschlägt fehl, java --fullversionfunktioniert aber einwandfrei:

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

LÖSUNG: Gehen Sie zum C:\Windows\System32Verzeichnis und löschen Sie die java.exeDatei (die ich tatsächlich umbenannt habe) !!!!

Jetzt bekomme ich:

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)

und H2 Console (Command Line)funktioniert auch gut!

Credits gehen an den letzten Beitrag in diesem Forum: https://bukkit.org/threads/java-lang-noclassdeffounderror-java-lang-object.70450/

iaforek
quelle
Auch ich bin mit diesem Problem konfrontiert, aber es sieht so aus, als würden Sie in Ihrem Fall einfach eine ältere Version von Java verwenden. 1.6.0_26! = 1.6.0_45, Ihre ältere Version hat wahrscheinlich einfach kein Problem.
Centimane
Gut erkannt! Ich habe JDK 1.6.0_26 installiert und diese "neuere" Version stammt aus dem Windows System32-Ordner. Beide befinden sich in der Umgebungsvariablen PATH und ich möchte eigentlich keine von Windows bereitgestellte Java-Laufzeit verwenden. Daher wurde das Problem durch Löschen behoben. Vielleicht haben Sie auch zwei Java-Laufzeiten in Ihrem PATH?
iaforek
Bei meiner Installation fehlte rt.jar (dort finden Sie java.lang.Object). Leider fehlt bei der Installation des RPM von Kickstart aus die Datei rt.jar, aber wenn ich sie nach der Installation installiere, ist das ein lustiges Problem.
Centimane
Ich kann dir nicht mit RPMs helfen. Das tut mir leid.
iaforek
4
Für mich verursachten die symbolischen Links für Java in C:\ProgramData\Oracle\Java\javapathdas Problem. Ich ändere die Umgebungsvariable PATH und jetzt funktioniert es.
WhiteKnight
10

Ich habe heute das neue JDK heruntergeladen (1.8.0.73) gestartet c:> java.exeund das berüchtigte bekommen:

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

Ich wollte hier nur meine Arbeitslösung teilen.

Wenn ich in den jdk\binOrdner kam, lief Java einwandfrei , also wusste ich, dass es das war PATH. Ich habe PATHnur \jdk\binbei CMD , es zu beweisen und es funktionierte.

Also, einer der Ordner im PATHMust java.exe, der den Konflikt verursacht hat, dachte ich. Wie sich herausstellte , war es , C:\>ProgramData\Oracle\Java\javapathdass hält Symlinks zu den ausführbaren Dateien.

java.exezeigte auf jre\bin. Die Datei war beim Start \jre\bin\java.exebeschädigt - genau der gleiche Fehler. Bingo. Ich habe JRE neu installiert und das Problem ist behoben. Viel Spaß beim Codieren ...

Stürmer
quelle
8

In Ihrer Installation fehlt höchstwahrscheinlich eine Datei mit dem Namen rt.jar, die die Klassendatei für java.lang.Object enthält. Überprüfen Sie Ihre Installationsdateien usw.

Beachten Sie insbesondere, dass ein 64-Bit-Intersaller eine vorhandene 32-Bit-Installation überlagert (oder "neben" installiert). Mit anderen Worten, um eine voll funktionsfähige 64-Bit-Installation zu erhalten, müssen Sie zuerst die 32-Bit-Installation ausführen und anschließend eine 64-Bit-Installation durchführen, wenn Sie einen 64-Bit-fähigen Computer haben ...

Wenn Sie stattdessen nur eine 64-Bit-Installation durchführen, fehlen Ihnen bestimmte Dateien in der Installation und es werden Fehler wie die oben genannten angezeigt.

user3213415
quelle
Das ist Teil der Antwort. Sie müssen alle * .pack-Dateien in Ihrem Verzeichnis / lib und lib / ext Ihres Java SDK-Pfads entpacken. unpack200 kann Ihnen dabei helfen. Bitte beachten Sie den Kommentar von Rigg802.
Gefahr89
7

Unter Windows 10 hatte ich das gleiche Problem mit JRE 1.8 (8u121).
Tippen

java -version

Die Eingabeaufforderung cmd kehrt zurück

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

Alle anderen Befehle echo %JAVA_HOME%, echo %JRE_HOME%, echo %PATH%, java -fullversionhat gut funktioniert.

Gehen Sie zu Umgebungsvariablen im Systemverwaltungsfenster, entfernen Sie den Link aus PATH C:\ProgramData\Oracle\Java\javapathund stellen Sie sicher, dass Sie in PATH den Link zu festgelegt haben C:\Program Files\Java Folder\bin.

Überprüfen Sie danach, ob C:\Windows\System32eine java.exeDatei vorhanden ist. Wenn true, löschen Sie diese Datei.

Wenn Sie jetzt tippen java -version, funktioniert es einwandfrei.

Francesco Marchitelli
quelle
2
Ich habe das gleiche Problem nach Windows Update, aber ich habe keinen Ordner C:\Program Files\Java Folder\bin. Stattdessen benutze ich C:\Program Files\Java\jdk1.8.0_161\binaber es hilft mir trotzdem nicht. Es gibt keine Datei java.exe im Ordner System32
Tom
6

Dieses Problem tritt auf, wenn Sie das JDK _uncompressing_stattdessen installieren _executing_.

Zum Beispiel:

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

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

Im ersten Szenario werden die Laufzeitbibliotheken als rt.jar nicht automatisch dekomprimiert (daher finden Sie die rt.pack-Dateien usw. anstelle der .jar-Dateien).

kdn
quelle
4

Ich hatte kürzlich das gleiche Problem. In meinem Fall hat mein Windows 7-Computer Java automatisch heruntergeladen und C:\ProgramData\Oracle\Java\javapatham Anfang meiner Pfadumgebungsvariablen hinzugefügt , was mein Java durcheinander gebracht hat. Sobald ich das vom Weg entfernt hatte, funktionierte es.

Entwickler747
quelle
3

Wenn Sie "chmod u + rx" für die Java-Binärdatei ausführen und ausführen, werden die JAR-Dateien entpackt, und Sie können eine Java-Version ohne Laufzeitfehler ausführen

Peter Nielsen
quelle
3

Sie können nicht nur das 64-Bit installieren, sondern müssen zuerst das 32-Bit installieren und dann die 64-Bit-Komponenten hinzufügen.

Von java.com:

Die Installation der JRE auf einem 64-Bit-System, das eine 32-Bit-JVM ermöglicht, erfolgt in zwei Schritten: Installieren Sie zuerst die 32-Bit-JRE und anschließend die zusätzliche Unterstützung für 64-Bit-Vorgänge. Die Dateinamen lauten wie folgt:

Andrew Speer
quelle
Das OP erwähnt nichts über das Ausführen von 32-Bit-JVM auf einem 64-Bit-System ...?
wookie919
1

Wenn Sie eine 64-Bit-Version installieren, ohne zuvor 32-Bit zu installieren, tritt dieser Fehler trotz Behebung aller anderen Probleme auf. Ich habe einen brandneuen Dell i7 64-Bit-Windows 10 Pro-Computer mit Java 8u71. Nachdem ich meine% path% und% classpath% zu Umgebungsvariablen hinzugefügt und mehrere andere Korrekturen versucht habe, habe ich 64-Bit deinstalliert, 32-Bit installiert und dann 64-Bit neu installiert.

Einige der Probleme, wie das Nicht-Entpacken Ihrer Dateien usw., die als mögliche Ursachen genannt wurden, können weiterhin Probleme verursachen. Wenn Sie dies jedoch nicht tun, funktionieren die anderen Korrekturen nicht.

Bryan Robinson
quelle
1

In meinem Fall verwende ich Windows 8.1 (installiert jdk1.8.0_77), ich habe drei Dinge getan:

  1. Ich habe vorherige JDKS gelöscht
  2. Ich habe die Datei java.exe in C: \ Windows \ System32 umbenannt
  3. Ich habe auch C: \ ProgramData \ Oracle \ Java \ javapath in meinem PATH entfernt (echo% PATH%).

und voila hat es repariert!

Kashogi
quelle
1

Ich habe das ähnliche Problem festgestellt und festgestellt, dass der Symlink in den Programmdaten (C: \ ProgramData \ Oracle \ Java \ javapath) falsch war. Ich habe den richtigen Weg angegeben und es hat funktioniert.

Details zur Korrektur der Programmdaten finden Sie hier

Siva Kameswara Rao Munipalle
quelle
0

Eine andere Antwort könnte sein, stattdessen die Linux-Datei tar.gz im Linux-Fall zu verwenden. So etwas scheint es auch für die Solaris-Plattform zu geben. Auf diese Weise haben alle Dateien bereits das erwartete Format und es treten keine Probleme beim Entpacken auf.

Rhythmus
quelle
Was meinst du damit, stattdessen die Datei tar.gz zu verwenden?
Koray Tugay
Da ich dies vor ungefähr 2,5 Jahren beantwortet habe, musste ich einen Blick zurück auf die Java-Download-Site werfen. Dort haben Sie die Wahl, Java entweder als Paket wie .rpm für LinuX herunterzuladen. Ich glaube, ich habe es schon einmal versucht und bin in Schwierigkeiten geraten. Das Herunterladen der tar.gz-Datei funktionierte stattdessen besser, da der gesamte Inhalt im gewünschten Dateiformat enthalten war.
Rythmic
0

Ich habe ein Problem bei x86_64-Linux-Installationen mit JDK 1.7.0_40 i586. Ich habe herausgefunden, dass das Problem darin besteht, dass rpm keine JAR-Dateien entpacken kann, wie von Rigg802 erwähnt (obwohl rpm den Markierungserfolg vervollständigt):

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

Die Datei /lib/ld-linux.so.2 wird von glibc-2.12-1.107.el6_4.4 bereitgestellt. i686, der nicht zu den Drehzahlabweichungen von jdk rpm gehört.

Oracle JDK rpm erfordert außerdem 32-Bit-Versionen von libgcc-4.4.7-3.el6. i686 installiert werden

Um dieses Problem zu umgehen, müssen Sie zuerst glibc-2.12-1.107.el6_4.4.i686 und libgcc-4.4.7-3.el6.i686 installieren.

prüfend
quelle
Ich habe das gleiche Problem mit Fedora 20 und installiere libgcc-4.8.2-7.fc20.i686, um das Problem zu lösen. Txs
Pipe
0

Schnelle Lösung, die bei mir funktioniert hat:

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

Ich habe festgestellt, dass dieser Fehler beim Extrahieren der RPM-Datei aufgetreten ist.

Ich habe dann diesen Ordner entfernt und jdk-7u79-linux-x64.tar.gz für Linux 64 heruntergeladen und stattdessen den Inhalt dieser Datei extrahiert. Außerdem: export JAVA_HOME = / opt / java / jdk1.7.0_79 export JDK_HOME = / opt / java / jdk1.7.0_79 export PATH = $ {JAVA_HOME} / bin

user5974531
quelle
0

Installieren Sie einfach den JRE erneut . Es hat einfach mein Problem gelöst. (Der SonarQube-Startstapel hat diesen Fehler nach der Installation von jdk ausgegeben.)

Stratovarius
quelle
0

Gehen Sie zur Systemsteuerung, deinstallieren Sie das Java-bezogene Material (schließen Sie Eclipse, wenn es geöffnet wird), installieren Sie Java erneut und öffnen Sie Eclipse, bereinigen Sie Projekte.

Ateeque Shaikh
quelle
Downvote. Das OP befindet sich eindeutig nicht auf einer Windows-Plattform.
Peterh
0

Habe dies gerade unter Solaris gemacht und bin auf dieses identische Problem gestoßen, bei dem selbst "Java-Version" nicht funktioniert. Es gibt einen Grund, warum die 64-Bit-Versionen der Distribution viel kleiner sind als die 32-Bit-Version. Es ist in der Tat wie oben angegeben:

Mit anderen Worten, um eine voll funktionsfähige 64-Bit-Installation zu erhalten, müssen Sie zuerst die 32-Bit-Installation ausführen und anschließend eine 64-Bit-Installation durchführen, wenn Sie einen 64-Bit-fähigen Computer haben ...

Also habe ich das Installationsprogramm für das 32-Bit ausgeführt:

sh jdk-6u131-solaris-sparc.sh

Dann habe ich das Installationsprogramm für das 64-Bit ausgeführt:

sh jdk-6u131-solaris-sparcv9.sh

Dadurch habe ich mehrere ausführbare Java-Dateien zur Auswahl:

  • $ find. -name Java
  • ./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

Die sparcv9-Java-Versionen sind 64-Bit-Versionen und funktionieren mit "-version", wenn sie zusammen mit dem 32-Bit-JDK installiert werden.

  • ./jdk1.6.0_131/bin/sparcv9/java -version
  • Java-Version "1.6.0_131"
  • Java (TM) SE-Laufzeitumgebung (Build 1.6.0_131-b32)
  • Java HotSpot (TM) 64-Bit-Server-VM (Build 20.131-b32, gemischter Modus)

-Dan

user7323228
quelle
Stimmt, aber die Frage stammt aus dem Jahr 2012 und wir kennen die Plattform des OP nicht. Er bezieht sich /usr/javaalso eindeutig auf ein Linux / Unix-ähnliches Betriebssystem. Sie haben Recht, dass sich die Solaris-Installation von Java bis Java8 von jedem anderen Betriebssystem unterschied. Grundsätzlich mussten Sie zuerst das 32-Bit-Paket und dann das 64-Bit-Paket darüber installieren . Aber das ist alles in der Vergangenheit, da 32-Bit-Java unter Solaris nicht mehr unterstützt wird, ähnlich wie bei Mac OS X.
Peter
0

In Fenster 10 ist in env bereits ein Pfad vorhanden C:\>ProgramData\Oracle\Java\javapath, der Symlinks zu den ausführbaren Dateien enthält.

Wenn ich eine neue Version installiere und diese aus meiner Umgebungsvariablen entferne, wird sie in meinem gesamten Projekt angezeigt.

Ich verwende Eclipse-Sauerstoff in Fenster 10

So beheben Sie das Problem: -

  1. Ich entferne einfach den Pfad C:\>ProgramData\Oracle\Java\javapathaus der Umgebungsvariablen und füge eine neue Umgebung als JAVA_HOME und% JAVA_HOME% / bin im Pfad hinzu

  2. Ich installiere das JDK mit Administratorrechten neu (lösche den vorherigen JRE-Ordner)

  3. Öffnen Sie Ihr Eclipse-Projekt> klicken Sie mit der rechten Maustaste auf> Gehe zu Eigenschaften> In Bibliotheken> Entfernen Sie jetzt die JRE-Systembibliothek> Klicken Sie auf Bibliothek hinzufügen> wählen Sie "JRE-Systembibliothek"> klicken Sie auf Weiter> Wählen Sie "Arbeitsbereich-Standard-JRE (jre1.8.x_xxx)"> Fertig

Mein Problem ist behoben :) Hoffe es wird dir helfen :)

Shubham Jain
quelle
0

Also habe ich alles ausprobiert und es scheint, dass die Neuinstallation von Java nach der Deinstallation mein Problem behoben hat.

Plabon Dutta
quelle
0

Wenn ein Problem mit der JAVA-Installationsversion vorliegt

C: \ Wo JAVA

gibt den Ort von Java an, den es aufnimmt. Wenn Sie einen anderen Pfad als Ihre Installation haben, entfernen Sie diese Dateien oder benennen Sie sie um (möglicherweise als _backup). Sie erhalten die richtige Version der Java-Datei.

SumataPatil
quelle
-1

Ich hatte das gleiche Problem, ich habe zwei Java-Versionen installiert, daher hat es dieses Problem verursacht. Um dies zu bestätigen, klicken Sie in der Systemsteuerung auf das Java-Symbol. Wenn es nicht geöffnet wird, ist das Problem dasselbe. Gehen Sie einfach und deinstallieren Sie eine Version. Stück Kuchen. Vielen Dank.

Srinivasan Elangovan
quelle
-2

Ich hatte das gleiche Problem: Fehler beim Initialisieren der VM java / lang / NoClassDefFoundError: java / lang / Object

Führen Sie die folgenden Schritte aus, um das Problem zu beheben:

Schritt 1. Gehen Sie zu C: \ Programme \ und suchen Sie nach dem Java-Ordner.

Schritt 2. Löschen Sie den Ordner C: \ Programme \ Java.

Schritt 3. Laden Sie neues Jdk für Ihre Version 32 Bit / 64 Bit von http://www.oracle.com/technetwork/java/javase/downloads/index.html herunter

Schritt 4. Installieren Sie JDK

Schritt 5: Setzen Sie JAVA_HOME nun auf "C: \ Programme \ Java \ jdk1.8.0_91".

Schritt 6: Öffnen Sie die Eingabeaufforderung und geben Sie java -version ein.

Es klappt.

Mahesh Sutar
quelle
Das OP erwähnte, dass JAVA_HOME hier nicht das Problem war
Alexandre Beaudet
JAVA_HOME muss nicht erneut konfiguriert werden, wenn es bereits auf jdk location eingestellt ist. Sie können Schritt 5 einfach überspringen. Löschen Sie einfach das ältere JDK und installieren Sie das neuere.
Mahesh Sutar