Le type java.io.ObjectInputStream ne peut être résolu. Il est indirectement référencé de besoin.les fichiers de classe

J'ai téléchargé Eclipse et essayé de créer un programme de servlet d'échantillon mais j'ai obtenu l'erreur suivante

le type java.io.ObjectInputStream ne peut être résolu. Il est indirectement référencé de besoin .les fichiers de classe

j'ai configuré le chemin de construction correctement. J'utilise Java 8 et Apache Tomcat 7 et les bibliothèques pour les deux sont référencées correctement.

le problème est spécifiquement pour Java EE seulement. Normalement, les projets Java SE fonctionnent bien.

32
demandé sur BalusC 2016-05-01 08:02:23

9 réponses

quelque chose s'est produit dans Java 8 Update 91 qui a cassé le code JSP existant. Cela semble assez clair. Voici un échantillon de questions similaires et de rapports de bogue:

tout cela concerne des problèmes de mise à jour de Java 8 91 (ou plus tard) qui ne sont pas présents lors de l'utilisation de versions JRE/JDK antérieures.


les changements OpenJDK suivants à partir du 22 janvier 2016 semblent être liés: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/32f64c19b5fb (commit message"8144430: Improve JMX connections"). Le jeu de modifications 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 rapport de bogue de Red Hat, 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-April 2016", la vulnérabilité CVE-2016-3427 est mentionnée: http://www.oracle.com/technetwork/security-advisory/cpuapr2016v3-2985753.html .

31
répondu mzjn 2017-05-23 11:54:31

vous avez simplement besoin de mettre à jour votre version Tomcat, à Tomcat 8.0.XXème. Java8 <-> Tomcat8

C'est la configuration que j'ai utilisé et il a toujours bien fonctionné JDK version Tomcat versions

3
répondu Ismael Sarmento 2016-07-26 18:47:30

à l'Aide de la dernière 7.X Tomcat (actuellement 7.0.69) a résolu le problème pour moi.

nous avons également essayé une solution dans un vieux bug eclipse, peut-être que cela a fait partie pour résoudre le problème, aussi?

https://bugs.eclipse.org/bugs/show_bug.cgi?id=67414

solution de contournement:

  • Window->Preferences->Java->Installé Jre
  • Décocher la case sélectionnée JRE
  • cliquez sur OK (cette étape peut être facultative?)
  • Vérifier JRE nouveau
1
répondu metin.n 2016-05-03 12:29:47

solution de contournement:

Fenêtre -> Préférences -> Java -> Installé Jre , sélectionnez un autre JRE

peut-être que cette édition JDK ne convient pas:

enter image description here


essayez donc celui-ci à la place:

enter image description here

Problème résolu!

1
répondu Phoenix 2016-07-03 19:00:05

même problème avec moi. Ce n'est pas une solution, mais une solution qui a fonctionné pour moi: Buildpath - > Configure buildpath - > Libraries - > ici, supprimez la bibliothèque système JRE pointant vers JRE8 et ajoutez la bibliothèque système JRE pour JRE7.

0
répondu Amit1011 2016-05-01 13:18:30

mise à niveau vers tomcat 7.0.70 a résolu le problème pour moi

0
répondu Gavy 2016-08-18 18:20:20

j'étais également confronté à la même question. J'avais Jdk1.7.0.79. Puis je l'ai mis à jour avec Jdk8.0.120. Alors le problème est résolu. Après avoir terminé avec succès la mise à niveau de jdk. Aller au projet - > nettoyage. Il reconstruira le projet et toute alerte rouge sera éliminée.

0
répondu Touhid 2016-10-09 14:29:41

Ok, cette question était il y a un an mais j'ai récemment eu ce problème aussi.

alors ce que j'ai fait:

  1. mise à Jour de tomcat 7 à tomcat 8.
  2. mise à Jour vers la dernière version de java (java 1.8.0_141).
  3. Update the JRE System Library in Project > Properties > Java Build Path . Assurez-vous qu'il a la dernière version qui dans mon cas est jre1.8.0_141 (avant c'était de la précédente version 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 changé automatiquement le chemin de compilation pour jre.

0
répondu kaixas K 2017-07-26 01:41:45

j'utilise Google appengine java sdk et faisait face à un problème similaire. J'ai dû ajouter

<runtime>java8</runtime>

dans appengine-web.fichier xml pour le faire fonctionner.

0
répondu Aniket Thakur 2017-12-16 04:25:35