2016-05-01 8 views
31

Я скачал Eclipse, и пытался создать программу образца сервлет, но я получил следующие ошибкиТип java.io.ObjectInputStream не может быть разрешен. Это косвенно ссылается из требуемых .class файлов

Типа java.io.ObjectInputStream не может быть решен. Это косвенно ссылается на требуемые файлы .class

Я правильно настроил путь сборки. Я использую Java 8 и Apache Tomcat 7, и библиотеки для обоих ссылок правильно указаны.

Проблема конкретно в Java EE. Обычно проекты Java SE работают нормально.

+0

Что такое конкретная версия Java 8? – mzjn

+2

Я получаю одно и то же исключение с jdk и jre Version 8 Update 91. –

+1

Проблема с Red Hat связана с этим: https://access.redhat.com/solutions/2294701 –

ответ

0

такой же проблема со мной. Это не решение, а обходной путь, который работал для меня: Buildpath-> Configure buildpath-> Libraries-> Здесь удалите системную библиотеку JRE, указывающую на JRE8, и добавьте системную библиотеку JRE для JRE7.

1

Использование последней версии 7.x Tomcat (в настоящее время 7.0.69) решило проблему для меня.

Мы также попробовали обходное решение в старой ошибке затмения, возможно, это тоже помогло решить эту проблему?

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

Обход:

  • Window-> Настройки-> Java-> Установленные JREs
  • Uncheck выбранные JRE
  • Нажмите кнопку OK (этот шаг может быть необязательным?)
  • Еще раз проверьте JRE
+0

Я модернизируюсь до tomcat-7.0.70, и я вижу проблему в некоторых случаях. Я использую SUSE Linux версии 12, и все это коаксиально, но у меня есть старая машина на версии 11 SP 3, и у нее все еще есть ошибка с JDK_1.8.0_91. – Jeff

1

Обход:

Окно ->Настройки ->Java ->Установленные JREs, выбрать другой JRE

может быть, это JDK издание не подходит:

enter image description here


Так попробуйте это вместо:

enter image description here

Проблема решена!

+1

Соблюдайте осторожность при понижении рейтинга - стоит отметить, что в предыдущих версиях Java существует много известных уязвимостей безопасности. – Jeff

28

Что-то случилось в Java 8 Update 91, который нарушил существующий JSP-код. Это кажется довольно ясным.Вот пример подобных вопросов и сообщений об ошибках:

Все это связано с проблемами с Java 8 Update 91 (или более поздними), которые отсутствуют при использовании более ранних версий JRE/JDK.


Следующая OpenJDK с 22 ревизии появляется января 2016, связаны: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/32f64c19b5fb (сообщение фиксации "8144430: Улучшение связей JMX"). Изменения, похоже, связаны с этой уязвимостью, https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-3427, о чем упоминается в комментарии к этому отчету об ошибке Red Hat, https://bugzilla.redhat.com/show_bug.cgi?id=1336481.

В документе об обновлении 91 документа упоминается JDK-8144430 (непубличный билет): http://www.oracle.com/technetwork/java/javase/8u91-relnotes-2949462.html.

В «Рекомендации по критическому исправлению патчей Oracle - апрель 2016» упоминается уязвимость CVE-2016-3427: http://www.oracle.com/technetwork/security-advisory/cpuapr2016v3-2985753.html.

+0

, столкнувшись с той же проблемой, но как только я перехожу к tomcat, все работает нормально ... jdk8_121 – dom

+0

@dom, в вопросе говорится: «Я использую Java 8 и Apache Tomcat 7». Итак, что вы подразумеваете под «как только я перехожу к tomcat 7»? – mzjn

2

Вам просто нужно обновить версию Tomcat до Tomcat 8.0.xx. Java8 < -> Tomcat8

Это конфигурация, которую я использую, и она всегда работала хорошо JDK version Tomcat versions

+1

Мне кажется, что ошибка в Java 8 Update 91. Я сомневаюсь, что обновление Tomcat решит проблему для всех. См. Http://stackoverflow.com/questions/36981733/unable-to-compile-jsp-file-with-jdk1-8-0-92#comment62126450_36981733-. – mzjn

+0

@ user3891270: Помогает ли этот ответ? Работает ли он, если вы обновляетесь до Tomcat 8? – mzjn

0

Обновление до 7.0.70 кота решен вопрос для меня

-1

У меня тоже была такая же проблема. У меня был Jdk1.7.0.79. Затем я обновил его с помощью Jdk8.0.120. Тогда проблема решена. После успешного завершения обновления jdk. Перейдите в проект-> очистить. Он перестроит проект, и все красные предупреждения будут устранены.

0

Хорошо, этот вопрос был год назад, но я недавно получил эту проблему.

Так что я сделал:

  1. Update 7 для кота кота 8.
  2. Обновление до последней версии java (java 1.8.0_141).
  3. Обновление библиотеки систем JRE в Проект> Свойства> Путь сборки Java. Убедитесь, что он имеет самую последнюю версию, которая в моем случае это jre1.8.0_141 (прежде, чем это было в предыдущей версии jre1.8.0_111)

Когда я сделал первые два шага он все еще не удалить чтобы последний шаг был важен. Он не автоматически менял путь сборки для jre.

0

Я использую Google appengine java sdk и столкнулся с аналогичной проблемой. Я должен был добавить

<runtime>java8</runtime> 

в файле appengine-web.xml, чтобы заставить его работать.

 Смежные вопросы

  • Нет связанных вопросов^_^