Le type java.io.ObjectInputStream ne peut pas être résolu. Il est indirectement référencé de besoin .les fichiers de classe
J'ai téléchargé Eclipse et a essayé de créer un exemple de servlet programme, mais j'ai eu d'erreur suivant
Le type java.io.ObjectInputStream ne peut pas être résolu. Il est indirectement référencé de besoin .les fichiers de classe
J'ai configuré le chemin de génération correctement.
Je suis à l'aide de Java 8 et Apache Tomcat 7 et bibliothèques pour les deux sont correctement référencé.
Problème est spécifiquement pour Java EE uniquement. Normalement Java SE, des projets sont en cours d'exécution fine.
- Ce spécifique Java 8 est la version de ce sujet?
- J'obtiens la même exception avec deux jdk et jre Version 8 mise à Jour 91.
- Red Hat problème lié à ceci : access.redhat.com/solutions/2294701
- Je ne peux pas y accéder en raison de restrictions d'accès. Il serait gentil si vous pouviez poster la conclusion ou de la solution si il y en a.
- La résolution proposée est "précompiler Jsp comme une solution de contournement". Il y a également un lien vers une réouverture de rapport de bug (1223609) et de la note qui dit: "de la cjce est une ancienne version qui ne prend pas en charge java 8". Je ne sais pas quoi faire de cela. Il n'y a pas de problème avec Java 8 Update 77 autant que je sache.
- Le bug a été résolu, le 2 Mai que "pas un problème" avec ce commentaire: "la Clôture n'est pas une question. Cela devrait être résolu par la mise à niveau vers les dernières versions de Tomcat." bugs.openjdk.java.net/browse/JDK-8155588. Un client soumis solution de contournement dit "le seul travail est de revenir plus âgés JDK/JRE version et prier pour que le problème va disparaître avec la nouvelle version".
- Dans un commentaire dans ce Red Hat problème, bugzilla.redhat.com/show_bug.cgi?id=1336481, le problème suivant est mentionné: cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3427. C'est aussi dans Oracle Critical Patch Update Advisory - avril 2016: oracle.com/technetwork/security-advisory/....
- J'ai le même problème avec JDK 1.8.0_191 . Puis j'ai changer 1.8.0_162 et sa fonctionne maintenant
Vous devez vous connecter pour publier un commentaire.
Quelque chose s'est passé dans Java 8 Update 91, qui a battu existantes code JSP. Cela semble assez clair. Voici un échantillon de questions similaires et les rapports de bug:
java.io.ObjectInputStream
dans la mise à Jour 91 qui "fait incompatible avec RHEL6 actuel de la CJCE version").Tous ceux-ci sont liées à des problèmes avec Java 8 Update 91 (ou plus tard) qui ne sont pas présents lors de l'utilisation antérieure JRE/JDK versions.
Suivantes OpenJDK révision du 22 janvier 2016 semble être lié: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/32f64c19b5fb (message de commit "8144430: Améliorer les connexions JMX"). Le changement semble être lié à cette vulnérabilité, https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3427, qui est mentionné dans un commentaire à ce Red Hat rapport de bug, https://bugzilla.redhat.com/show_bug.cgi?id=1336481.
La mise à Jour 91 notes de version de document mentionne JDK-8144430 (non-public de billet): http://www.oracle.com/technetwork/java/javase/8u91-relnotes-2949462.html.
Dans "Oracle Critical Patch Update Advisory - avril 2016", le CVE-2016-3427 vulnérabilité est mentionné: http://www.oracle.com/technetwork/security-advisory/cpuapr2016v3-2985753.html.
Vous avez simplement besoin de mettre à niveau votre version de Tomcat, Tomcat 8.0.xx.
Java8 <-> Tomcat8
C'est la configuration que j'ai utilisé et il a toujours bien fonctionné
même problème avec moi. Ce n'est pas une solution, mais une solution qui a fonctionné pour moi:
Buildpath->Configurer buildpath->Bibliothèques-> Ici retirez le JRE system library pointant vers JRE8 et ajouter JRE system library pour JRE7.
À l'aide de la dernière 7.x Tomcat (actuellement 7.0.69) a résolu le problème pour moi.
Nous avons aussi essayer une solution de contournement dans un vieux eclipse bug, peut-être qu'il a fait pour résoudre le problème, trop?
https://bugs.eclipse.org/bugs/show_bug.cgi?id=67414
Solution de contournement:
Solution de contournement:
Fenêtre -> Préférences -> Java -> Installé Jre,
sélectionnez un autre JRE
peut-être que ce JDK édition n'est pas adapté:
Donc essayer celui-ci à la place:
Problème résolu!
La mise à niveau vers tomcat 7.0.70 résolu le problème pour moi
D'accord, cette question a un an mais j'ai récemment eu ce problème ainsi.
Donc ce que j'ai fait :
Assurez-vous qu'il dispose de la dernière version qui dans mon cas est jre1.8.0_141
(avant c'était la version précédente jre1.8.0_111)
Quand j'ai fait les deux premières étapes, il n'est toujours pas supprimer l'erreur, la dernière étape est importante. Il n'a pas changer automatiquement le chemin de génération pour jre.
Je suis en utilisant Google appengine java sdk et a été confronté à des questions semblables. J'ai dû ajouter
dans appengine-web.xml fichier pour le faire fonctionner.
J'ai été également confrontés à la même question. J'ai eu Jdk1.7.0.79. Ensuite, j'ai mis à jour avec Jdk8.0.120. Alors le problème est résolu. Après le succès de l'achèvement de la mise à jour du jdk. Aller à projet->nettoyer. Il faudra recompiler le projet et tous les alerte rouge sera éliminé.
Raison :
Les anciennes versions de Tomcat 6 JSP compilateur ne semblent pas être au courant de JDK 8 constant pool améliorations - eg. méthode de poignées. Le nouveau code dans le JDK 8u est à l'aide d'une méthode de gérer au lieu de créer une classe anonyme. Ce sera la cause de la méthode de la poignée pour être répertorié dans la constante de la piscine et l'éclipse du compilateur va s'étouffer sur ce - https://bz.apache.org/bugzilla/show_bug.cgi?id=56613