44 votes

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 suivantes

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é.

Le problème est précisément de Java EE uniquement. Normalement Java SE, des projets sont en cours d'exécution fine.

0 votes

W

2 votes

I

1 votes

R a

42voto

mzjn Points 14148

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:

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.


La suite de 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-3427qui 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.

2 votes

Je suis confronté au même problème mais une fois que je suis passé à tomcat 7, tout fonctionne bien. j'utilise jdk8_121

0 votes

@dom, dans la question il est dit "J'utilise Java 8 et Apache Tomcat 7". Que voulez-vous dire par "une fois que je serai passé à Tomcat 7" ?

8voto

Ismael Sarmento Points 171

Vous devez simplement mettre à jour votre version de Tomcat, vers Tomcat 8.0.xx. Java8 <-> Tomcat8

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

1 votes

Il me semble qu'il s'agit d'un bogue dans la mise à jour 91 de Java 8. Je doute que la mise à jour de Tomcat résolve le problème pour tout le monde. Voir aussi stackoverflow.com/questions/36981733/ .

0 votes

@user3891270 : Cette réponse vous aide-t-elle ? Est-ce que cela fonctionne si vous passez à Tomcat 8 ?

1 votes

Runtime Environments->Add->Apache->jusqu'à la version 7 j'ai pu trouver mais la 8ème version d'Apache n'est pas affichée.Comment l'ajouter en externe.Aidez-moi s'il vous plaît.

2voto

metin.n Points 11

L'utilisation de la dernière version 7.x de Tomcat (actuellement 7.0.69) a permis de résoudre le problème. pour moi.

Nous avons également essayé une solution de contournement dans un ancien bogue d'Eclipse, peut-être que cela a également contribué à résoudre le problème ?

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

Solution de contournement :

  • Fenêtre->Préférences->Java->JREs installés
  • Décocher le JRE sélectionné
  • Cliquez sur OK (cette étape est peut-être facultative ?)
  • Vérifier à nouveau le JRE

0 votes

Je suis en train de mettre à jour vers tomcat-7.0.70, et je vois le problème dans certains cas. J'utilise SUSE Linux version 12 et tout va bien, mais j'ai une machine plus ancienne sur la version 11 SP 3, et celle-ci a toujours l'erreur avec JDK_1.8.0_91.

2voto

Amit1011 Points 128

Même problème pour moi. Il ne s'agit pas d'une solution mais d'une solution de contournement, qui a fonctionné pour moi : Buildpath->Configurer buildpath->Libraries-> Ici supprimer la bibliothèque système JRE pointant vers JRE8 et ajouter la bibliothèque système JRE pour JRE7.

1voto

Phoenix Points 19

Solution de contournement :

Fenêtre -> Préférences -> Java -> JRE installés , sélectionner un autre JRE

peut-être que cette édition du JDK n'est pas adaptée :

enter image description here


Essayez plutôt celui-ci :

enter image description here

Problème résolu !

2 votes

Soyez prudent lors de la rétrogradation - il convient de noter qu'il existe de nombreuses failles de sécurité connues dans les versions antérieures de Java.

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