140 votes

JRE 1.7 - version de java - renvoie : java/lang/NoClassDefFoundError : java/lang/Object

Lors de l'exécution de n'importe quelle application java, ou simplement de 'java', la jvm échoue :

Une erreur s'est produite pendant l'initialisation de la VM
java/lang/NoClassDefFoundError : java/lang/Object

Voici une liste de mauvais réponses :

  1. Le répertoire d'accueil Java correct, y compris le répertoire /bin, se trouve dans le PATH global.

  2. JAVA_HOME est correctement défini

  3. L'exécution de la commande java -fullversion fonctionne

    $ java -fullversion
    
    ./java full version "1.7.0_05-b05"
  4. Les liens symboliques dans /usr/java pointent tous vers l'installation correcte de Java.

  5. Je n'ai pas installé de Java par défaut lorsque j'ai créé le système.

  6. java -version échoue... même erreur que ci-dessus

  7. L'exécution des commandes à partir de la structure de répertoire de l'installation java ne fonctionne pas non plus.

  8. C'est du java 64 bits pour un ordinateur 64 bits.

Des idées ?

3voto

Andrew Speer Points 1

Vous ne pouvez pas installer uniquement le 64 bits, vous devez d'abord installer le 32 bits, puis ajouter les composants du 64 bits.

De java.com :

L'installation du JRE sur un système 64 bits qui autorise une JVM 32 bits se fait en deux étapes : il faut d'abord installer le JRE 32 bits, puis installer la prise en charge supplémentaire des opérations 64 bits. Les noms des fichiers sont les suivants :

1voto

Bryan Robinson Points 11

Si vous installez une version 64 bits sans avoir préalablement installé la version 32 bits, cette erreur se produira malgré la résolution de tous les autres problèmes. J'ai une toute nouvelle machine Dell i7 64 bits Windows 10 Pro exécutant Java 8u71. Après avoir ajouté mes %path% et %classpath% aux variables d'environnement et essayé plusieurs autres correctifs, la désinstallation de la version 64 bits, l'installation de la version 32 bits puis la réinstallation de la version 64 bits ont réglé le problème.

Certains problèmes, comme le fait que vos fichiers n'aient pas été décompressés, etc., qui ont été mentionnés comme causes possibles, peuvent encore causer des problèmes, mais si vous ne faites pas cela aussi, les autres solutions ne fonctionneront pas.

1voto

kashogi Points 11

Dans mon cas, j'utilise un Windows 8.1 (installé jdk1.8.0_77), j'ai fait trois choses :

  1. J'ai supprimé les jdks précédents
  2. J'ai renommé le fichier java.exe à l'intérieur C:\Windows\System32
  3. J'ai aussi enlevé C:\ProgramData\Oracle\Java\javapath dans mon PATH (echo %PATH%)

et voilà, c'est réparé !

1voto

J'ai rencontré le même problème et j'ai découvert que le lien symbolique dans le programme data( C:\ProgramData\Oracle\Java\javapath ) avait tort. J'ai donné le chemin correct et cela a fonctionné.

Les détails sur la façon de corriger les données du programme sont disponibles ici.

0voto

Rythmic Points 149

Une autre réponse pourrait être d'utiliser le fichier tar.gz à la place dans le cas de Linux. Il semble qu'il y ait quelque chose comme ça aussi pour la plateforme Solaris. De cette façon, tous les fichiers seront déjà dans le format attendu et il n'y aura pas de problèmes de déballage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X