tutorial tipo plugin descompilar como archivos archivo abrir java eclipse java-ee objectinputstream buildpath

java - tipo - descompilar war



El tipo java.io.ObjectInputStream no se puede resolver. Se hace referencia indirectamente desde archivos.class requeridos (9)

Algo sucedió en Java 8 Update 91 que rompió el código JSP existente. Eso parece bastante claro. Aquí hay una muestra de preguntas similares e informes de errores:

Todo esto se trata de problemas con Java 8 Update 91 (o posterior) que no están presentes cuando se usan versiones anteriores de JRE / JDK.

El siguiente conjunto de cambios OpenJDK del 22 de enero de 2016 parece estar relacionado: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/32f64c19b5fb (mensaje de confirmación "8144430: Mejorar las conexiones JMX"). El conjunto de cambios parece estar relacionado con esta vulnerabilidad, https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3427 , que se menciona en un comentario a este informe de errores de Red Hat, https://bugzilla.redhat.com/show_bug.cgi?id=1336481 .

El documento de notas de la versión Update 91 menciona JDK-8144430 (ticket no público): http://www.oracle.com/technetwork/java/javase/8u91-relnotes-2949462.html .

En "Aviso de actualización de parche crítico de Oracle, abril de 2016", se menciona la vulnerabilidad CVE-2016-3427: http://www.oracle.com/technetwork/security-advisory/cpuapr2016v3-2985753.html .

Descargué Eclipse e intenté crear un programa de servlets de muestra, pero obtuve un error de seguimiento

El tipo java.io.ObjectInputStream no se puede resolver. Se hace referencia indirectamente desde archivos .class requeridos

He configurado la ruta de compilación correctamente. Estoy usando Java 8 y Apache Tomcat 7 y las bibliotecas para ambos están referenciadas correctamente.

El problema es específicamente para Java EE solamente. Por lo general, los proyectos de Java SE funcionan bien.


De acuerdo, esta pregunta fue hace un año, pero recientemente también tuve este problema.

Entonces, ¿qué hice?

  1. Actualiza tomcat 7 a tomcat 8.
  2. Actualiza a la última versión de java (java 1.8.0_141).
  3. Actualice la biblioteca del sistema JRE en Proyecto> Propiedades> Ruta de compilación Java . Asegúrate de que tenga la última versión, que en mi caso es jre1.8.0_141 (antes de que fuera la versión anterior jre1.8.0_111)

Cuando hice los dos primeros pasos, todavía no elimina el error, por lo que el último paso es importante. No cambió automáticamente la ruta de compilación para jre.


Estoy usando Google appengine java sdk y estaba enfrentando un problema similar. Tuve que agregar

<runtime>java8</runtime>

en el archivo appengine-web.xml para que funcione.


La actualización a tomcat 7.0.70 resolvió el problema para mí


Simplemente necesita actualizar su versión de Tomcat, a Tomcat 8.0.xx. Java8 <-> Tomcat8

Esta es la configuración que he estado usando y siempre funcionó bien


Solución:

Ventana -> Preferencias -> Java -> JRE instalados , seleccione un JRE diferente

tal vez esta edición JDK no sea adecuada:

Así que prueba este en su lugar:

¡Problema resuelto!


Yo también estaba enfrentando el mismo problema. Tenía Jdk1.7.0.79. Luego lo actualicé con Jdk8.0.120. Entonces el problema fue resuelto. Después de completar con éxito jdk actualizado. Ir a proyecto-> limpiar. Reconstruirá el proyecto y se eliminará toda alerta roja.


el mismo problema conmigo Esta no es una solución, sino una solución alternativa, que funcionó para mí: Buildpath-> Configure buildpath-> Libraries-> Aquí elimino la biblioteca del sistema JRE que apunta a JRE8 y agrega la biblioteca del sistema JRE para JRE7.


Usar el último Tomcat 7.x (actualmente 7.0.69) me resolvió el problema .

También probamos una solución en un viejo error eclipse, tal vez eso también ayudó a resolver el problema.

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

Solución:

  • Ventana-> Preferencias-> Java-> JRE instalados
  • Desmarcar JRE seleccionado
  • Haga clic en Aceptar (este paso puede ser opcional?)
  • Ver JRE de nuevo