51 votes

Erreur fatale : Disposition non valide de java.lang.String à la valeur

J'ai obtenu une erreur extrêmement ennuyeuse dans Eclipse (dans la console) :

Invalid layout of java.lang.String at value

A fatal error has been detected by the Java Runtime Environment:

Internal Error (javaClasses.cpp:129), pid=15238, tid=140306591237888
fatal error: Invalid layout of preloaded class

 JRE version: 7.0_07-b10
 Java VM: Java HotSpot(TM) 64-Bit Server VM (23.3-b01 mixed mode linux-amd64 compressed ops)
 Failed to write core dump. Core dumps have been disabled. To enable core dumping, try ulimit -c unlimited" before starting Java again

 An error report file with more information is saved as:
 /home/till/workspace/Encrypt/hs_err_pid15238.log

 If you would like to submit a bug report, please visit:
   http://bugreport.sun.com/bugreport/crash.jsp

Télécharger le journal

Je n'y comprends rien, car même Eclipse n'affiche aucune erreur (dans l'éditeur de code)... C'est un véritable frein à la productivité, car cela bloque tout progrès. Si quelqu'un a des idées pour résoudre ce problème, merci de répondre à cette question.

Je vous remercie d'avance,

Till

118voto

Odyr Sohn Points 901

En cas de Android projet, vous devez supprimer Android Lib de la configuration de lancement pour cette classe spécifique. Utilisez la "marche à suivre" ci-dessous comme guide.

  • Projet -> Propriétés -> Paramètres d'exécution/de débogage ;
  • Sélectionnez votre classe et cliquez sur " Editer " ;
  • Ouvrir l'onglet " Chemin de classe "et supprimer Android Lib de " Entrées Bootstrap " ;
  • Appliquer tout et Ejecutar la classe à nouveau.

66voto

hasanghaforian Points 5794

J'ai eu le même problème, puis (comme l'a dit Jeff Schultz) aquí ) J'ai essayé :

Exécuter en tant que -> Application Android

Mais je ne connais pas la raison de ce problème J'espère que cela vous aidera !

4voto

user2547454 Points 145

C'est ce qui m'est arrivé après :

  1. Insertion dans le projet d'application Android d'une classe que j'avais oublié de supprimer public static void main(String args[]) fonction. (J'avais auparavant effectué un test rapide de la classe).
  2. J'ai essayé d'exécuter l'application alors que j'avais ouvert et concentré la classe ci-dessus dans l'éditeur Eclipse.

Ce qui est amusant, c'est qu'après l'erreur d'Eclipse, quelle que soit la classe sur laquelle j'ai mis l'accent, lorsque j'ai essayé d'exécuter à nouveau l'application, j'ai été confronté à la même erreur.

Inspiré par Odyr Sohn j'ai réussi à résoudre le problème (à partir de Projet->Propriétés->Paramètres d'exécution/de débogage supprimant la configuration défectueuse de Launch), mais dès que j'essayais d'exécuter l'application à partir de cette classe, la même chose se produisait à nouveau. Lorsque j'ai supprimé public static void main(String args[]) de la classe, le problème a été résolu pour de bon.

1voto

hans lepoeter Points 1

Vous devez créer une configuration d'exécution pour une "application Android". Si vous la créez par erreur pour une "application Java", cette erreur s'affichera.

0voto

UFGator Points 25

La même chose m'est arrivée. J'ai créé une TestActivity et je suppose qu'elle avait une fonction public static void main(String args[]). Je suis allé dans les propriétés puis dans Run/Debug et j'ai supprimé TestActivity et tout a bien fonctionné.

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