JRE 1.7 gibt Folgendes zurück: java / lang / NoClassDefFoundError: java / lang / Objekt
Beim ausführen einer java-Anwendung, oder einfach nur "java", das die jvm nicht:
Fehler während der Initialisierung aufgetreten ist der VM
java/lang/NoClassDefFoundError: java/lang/Object
Hier ist eine Liste von falsch Antworten:
- Korrekten Java-home-Verzeichnis, die /bin-Verzeichnis, ist auf dem globalen PFAD
- JAVA_HOME korrekt gesetzt ist
- Ausführen des Befehls java -Vollversion funktioniert
$ java -fullversion ./java full version "1.7.0_05-b05"
- Die symbolischen links in /usr/java verweisen alle auf die richtige java-installation
- Ich nicht installieren, keine 'Standard' - java, wenn ich das system
java -version
nicht...gleiche Fehlermeldung wie oben- Erteilung der Befehle, die unter der directory-Struktur der java-installation funktioniert nicht, entweder
- Dieser ist 64-bit-java für 64-bit -
Irgendwelche Ideen?
InformationsquelleAutor der Frage Tux Skywalker | 2012-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem kommt aus einer unsachgemäßen installation von java (z.B. eine installation ohne admin-Rechte oder durch einfaches entpacken tools.zip).
Können Sie entweder deinstallieren, dann Java neu installieren mit einem installer und/oder mehr rechten oder versuchen Sie Folgendes:
Überprüfen Sie in Ihrem JDK-Ordner für
*.pack
Dateien injre/lib
undjre/lib/ext
wie
rt.pack
(der Standardspeicherort istc:\nameof_jdk_folder\jre\lib
für Microsoft Windows und/usr/java/lib
für Unix/GNU-Linux)Diese
*.pack
Dateien müssen entpackt werden, um.jar
Dateien mit diesem Befehl:Für Windows:
%JAVA_HOME%\bin\unpack200 -r -v -l "" rt.pack rt.jar
Für *nix eine ähnliche Kommandozeile entpacken der Dateien:
cd /usr/java/lib
/usr/bin/unpack200 rt.pack rt.jar
und wiederholen Sie diesen Schritt mit allen *.pack-Dateien und starten Sie Ihr Programm.
InformationsquelleAutor der Antwort Rigg802
Für java 8 @ *NIX OS:
Aus dem Verzeichnis
"<jdk1.8_root>/jre/lib"
(Bei mir ist es: /usr/java/jdk1.8.0_05/jre/lib)Run:
(Kann Sie nicht verwenden können, das system ist unpack200 Ursache-version Probleme).
Diese unpack200 wird in java 8 Verzeichnis (bei mir: /usr/java/jdk1.8.0_05/bin)
Benedek
InformationsquelleAutor der Antwort betontalpfa
Scheint es, dass für eine 64-bit-Architektur installieren Sie die 32-bit version und die 64-bit-version von jre (Architektur-unabhängige Dateien rt.jar verteilt werden nur in der 32-bit-version).
Erinnern, dann achten Sie auf die korrekte ausführbare java-Datei auf der globalen PATH-Umgebungsvariable.
InformationsquelleAutor der Antwort Tommaso
Schnelle Lösung für ungeduldige 😉 Auf Windows Maschinen, versuchen Sie dies:
Gehen Sie zu
C:\Windows\System32
- Verzeichnis, und löschenjava.exe
(oder benennen Sie es um so etwas wiejava.exe.old
).Mindestens seit 1.6, es sollte nicht sein ein
java.exe
im Windows-Verzeichnis. Wenn es ist, es ist ein überbleibsel von etwas.Ein bisschen mehr Lesen:
Ich bin wirklich überrascht, dass eine Frage aus 2012 nicht genehmigt Antwort noch und ich habe tatsächlich hatte das gleiche Problem in 2015 auf meinem Win 7 32-Bit OS!
Also, was ist passiert?
Grundsätzlich hat alles gut funktioniert, ich heruntergeladen habe, H2 Datenbank, und als ich versuchte zu starten
H2 Console (Command Line)
ich habe:Fand ich diese Frage und ich war in der Lage, um zu bestätigen, die gleichen Symptome:
JAVA_HOME korrekt gesetzt ist:
java -version
ausfällt, währendjava --fullversion
gut funktioniert:LÖSUNG:
Gehen Sie zu
C:\Windows\System32
- Verzeichnis, und löschen (die ich eigentlich umbenannt)java.exe
Datei!!!!Nun bekomme ich:
sowie
H2 Console (Command Line)
funktioniert gut, so gut!Credits gehen an den letzten Beitrag in diesem forum ist:
https://bukkit.org/threads/java-lang-noclassdeffounderror-java-lang-object.70450/
InformationsquelleAutor der Antwort iaforek
Sind Sie wahrscheinlich fehlt eine Datei namens rt.jar in Ihrer installation hat Sie die class-Datei für java.lang.Objekt. Überprüfen Sie Ihre Dateien installieren etc.
Beachten Sie insbesondere, dass ein 64-bit-intsaller overlays (oder installiert sich "neben") eine vorhandene 32-bit-installation. In anderen Worten, um eine voll funktionsfähige 64-bit-installation, müssen Sie zuerst die 32-bit-installation und follow-up mit einem 64-bit-installation wenn Sie einen 64bit-fähigen Rechner...
Wenn Sie stattdessen nur eine 64-bit-installation werden Sie fehlen Dateien in der installation und Fehler wie die oben.
InformationsquelleAutor der Antwort user3213415
Ich neu runtergeladen JDK heute (1.8.0.73) gestartet
c:> java.exe
und hab das infamous:Ich wollte nur zu teilen meine funktionierende Lösung hier.
Wenn ich die cd'ied in die
jdk\bin
Ordner, Java würde gut laufen, so dass ich wusste, es war diePATH
. IchPATH
nur\jdk\bin
an CMD zu beweisen, und es hat funktioniert.So, in einen der Ordner in der
PATH
gehabt haben mussjava.exe
war, dass den Konflikt verursacht, dachte ich. Es stellte sich heraus, es warC:\>ProgramData\Oracle\Java\javapath
hält symlinks zu der ausführbaren Dateien.java.exe
weist daraufjre\bin
. Die Datei beschädigt war, als ich begonnen\jre\bin\java.exe
--genau denselben Fehler. Bingo. Ich neu installiert, JRE und das problem ging Weg. Happy coding...InformationsquelleAutor der Antwort Striker
Dieses problem tritt auf, wenn Sie installieren Sie das JDK von
_uncompressing_
es statt_executing_
.Durch Beispiel:
Im ersten Szenario, die runtime-Bibliotheken, als rt.jar nicht automatisch uncompresessed (so finden Sie die rt.pack-Dateien, etc. statt den .jar).
InformationsquelleAutor der Antwort kdn
Ich hatte das gleiche problem vor kurzem. In meinem Fall mein windows 7 Computer automatisch heruntergeladen, java und Hinzugefügt
C:\ProgramData\Oracle\Java\javapath
zu Beginn meiner path-Umgebungsvariable, die versaut meine java. Einmal habe ich Sie Los, aus dem Weg, es arbeitete.InformationsquelleAutor der Antwort developer747
Auf Windows 10, ich war vor dem gleichen Problem mit JRE 1.8 (8u121).
Eingabe
die cmd-Eingabeaufforderung zurück
Alle anderen Befehle
echo %JAVA_HOME%
echo %JRE_HOME%
echo %PATH%
java -fullversion
fein gearbeitet.Gehen, um Umgebungsvariablen auf system-administration-panel, PFAD entfernen den link
C:\ProgramData\Oracle\Java\javapath
und sicher sein, sich in den PFAD der link zuC:\Program Files\Java Folder\bin
.Danach prüfen Sie, ob in
C:\Windows\System32
existiert einejava.exe
Datei; wenn true, dann die Datei löschen.Eingabe jetzt
java -version
es funktioniert gut.InformationsquelleAutor der Antwort Francesco Marchitelli
wenn Sie "chmod u+rx" auf die java-binary und führen Sie es, es wird das entpacken der jar-Dateien und Sie können eine java -version ohne runtime-Fehler
InformationsquelleAutor der Antwort Peter Nielsen
Kann man nicht installieren, nur die 64bit, installieren Sie zuerst die 32bit und fügen Sie dann die 64-bit-Komponenten.
Aus java.com:
InformationsquelleAutor der Antwort Andrew Speer
Wenn Sie eine 64-bit-version ohne erste Installation von 32-bit-Version, tritt dieser Fehler auf, trotz der Fixierung aller anderen Themen. Ich habe ein nagelneues Dell i7 64-bit-Windows 10 Pro Maschine mit Java 8u71. Nachdem ich noch meine %path% und %classpath% auf Umgebungsvariablen und dem Versuch mehrere andere Updates, deinstallation 64-bit, die Installation von 32-bit-Version anschließend neu installieren, 64-bit behoben.
Einige der Probleme, wie nicht mit Ihren Dateien entpackt, etc. wurden erwähnt als mögliche Ursachen können noch Probleme verursachen, aber wenn Sie dies nicht tun, wie auch die anderen Updates nicht funktionieren.
InformationsquelleAutor der Antwort Bryan Robinson
In meinem Fall, ich benutze ein windows 8.1 (installiert jdk1.8.0_77), habe ich drei Dinge:
- und voila habe es behoben!
InformationsquelleAutor der Antwort kashogi
Ich habe vor dem ähnlichen Problem und festgestellt, dass der symlink im Programm-Daten - (C:\ProgramData\Oracle\Java\javapath) falsch war. Ich habe den richtigen Pfad und es funktionierte.
Details zur Behebung der Programm-Daten ist hier erhältlich
InformationsquelleAutor der Antwort Siva Kameswara Rao Munipalle
Andere Antwort könnte sein, die tar.gz Datei statt im Linux-Fall. Es scheint so etwas wie, dass auch für die solaris-Plattform. Auf diese Weise werden alle Dateien bereits in das erwartete format und es werden keine Auspacken Probleme.
InformationsquelleAutor der Antwort Rythmic
Habe ich einige problem auf x86_64-Linux-Installation mit JDK 1.7.0_40 i586.
Ich habe herausgefunden, dass das problem ist, dass rpm nicht entpacken, jar Dateien, wie erwähnt, durch Rigg802 (obwohl rpm abgeschlossen ist Kennzeichnung bei Erfolg):
Datei /lib/ld-linux.so.2 wird von der glibc-2.12-1.107.el6_4.4.i686die nicht unter den rpm-Abhängigkeiten der jdk-rpm.
Oracle-JDK-rpm auch eine 32-bit-Versionen von libgcc-4.4.7-3.el6.i686 installiert werden
So, workaround ist die Installation von glibc-2.12-1.107.el6_4.4.i686 und libgcc-4.4.7-3.el6.i686-ersten.
InformationsquelleAutor der Antwort scrutari
Quick-fix, der bei mir funktioniert:
InformationsquelleAutor der Antwort Liudvikas
Ich festgestellt, dass dieser Fehler aufgetreten, wenn ich extrahiert die .rpm-Datei.
Habe ich dann entfernt, die Ordner und heruntergeladen werden jdk-7u79-linux-x64.tar.gz für Linux 64 und extrahiert den Inhalt dieser Datei statt.
Auch:
export JAVA_HOME=/opt/java/jdk1.7.0_79
export JDK_HOME=/opt/java/jdk1.7.0_79
export PATH=${JAVA_HOME}/bin
InformationsquelleAutor der Antwort user5974531
Nur das jre installieren wieder. Es ist einfach mein problem gelöst. (SonarQube Start batch gestartet, diesen Fehler nach der Installation der jdk)
InformationsquelleAutor der Antwort stratovarius
Gehen Sie zu Systemsteuerung, deinstallieren Sie das java-bezogene Sachen(in der Nähe eclipse-wenn geöffnet), dann re-installieren Sie java und eclipse öffnen, reinigen Projekte.
InformationsquelleAutor der Antwort Ateeque Shaikh
Habe gerade diese auf Solaris und lief in das identische problem, wo auch "java -version" funktioniert nicht. Es gibt einen Grund, dass die 64-bit-Versionen der Distribution sind viel kleiner als die 32-bit. Es ist in der Tat wie oben erwähnt:
In anderen Worten, um eine voll funktionsfähige 64-bit-installation, müssen Sie zuerst die 32-bit-installation und follow-up mit einem 64-bit-installation wenn Sie einen 64bit-fähigen Rechner...
Also lief ich den installer für die 32-bit:
Dann lief ich den installer für die 64-bit:
Gibt mir mehrere java-ausführbare Dateien, zum von zu wählen:
Den sparcv9 java ist, sind die 64bit Versionen, und Sie arbeiten mit "-version" installiert, wenn neben der 32-bit-JDK verwendet wird.
Dan
InformationsquelleAutor der Antwort user7323228
In-Fenster 10 es ist bereits ein Pfad vorhanden in env als
C:\>ProgramData\Oracle\Java\javapath
hält Verknüpfungen zu den ausführbaren Dateien.Wenn ich eine neue version installieren und zu entfernen, dass aus meiner Umgebung Variablen, mein Projekt zu starten zeigt es.
Ich bin mit dem eclipse-Sauerstoff-Fenster 10
Es zu lösen:-
Ich entfernen Sie einfach Weg
C:\>ProgramData\Oracle\Java\javapath
von der Umgebungsvariablen und neue Hinzugefügt env als JAVA_HOME und %JAVA_HOME%/bin in die path -Ich neu installieren Sie das jdk mit admin-rechten (löschen Sie die Vorherige JRE-Ordner)
Mein Problem ist gelöst 🙂
Hoffe es hilft Euch 🙂
InformationsquelleAutor der Antwort Shubham Jain
Diese behoben das problem hatte ich auf CentOS
siehe auch Einstellung JAVA_HOME & CLASSPATH in CentOS 6
InformationsquelleAutor der Antwort Joe Jadamec
So, ich ging auf alles versucht und endlich scheint es, dass die Neuinstallation von java nach der deinstallation behoben, mein problem.
InformationsquelleAutor der Antwort Plabon Dutta
Unter windows funktioniert dies für mich
InformationsquelleAutor der Antwort V. Kalyuzhnyu
Ich Stand vor dem selben Problem: Fehler bei der Initialisierung der VM
java/lang/NoClassDefFoundError: java/lang/Object
Befolgen Sie folgende Schritte zum beheben des Problems :
Schritt 1. Springen C:\Program Dateien\ und Suche nach Java-Ordner.
Schritt 2. Löschen C:\Program Dateien\Java Ordner.
Schritt 3. Download der neuen Jdk-version, 32-bit/64-bit aus http://www.oracle.com/technetwork/java/javase/downloads/index.html
Schritt 4. JDK installieren
Schritt 5: Jetzt Legen Sie JAVA_HOME "C:\Program Dateien\Java\jdk1.8.0_91"
Schritt 6: Öffnen Sie die Eingabeaufforderung, und geben Sie java -version.
Es funktioniert.
InformationsquelleAutor der Antwort Mahesh Sutar
Stand ich vor demselben Problem, das ich installiert habe zwei java-version daher verursacht dieses Problem. um dies zu bestätigen gehen Sie und klicken Sie auf das java-Symbol in der Systemsteuerung, wenn nicht, dann Problem ist das gleiche, einfach hingehen und deinstallieren einer version. Stück Kuchen. danke.
InformationsquelleAutor der Antwort srinivasan Elangovan