java .lang.UnsupportedClassVersionError в Dynami c Веб-проект (Eclipse) - PullRequest
1 голос
/ 17 февраля 2020

Я хочу создать базовое c веб-приложение, используя eclipse и Azure. Я могу получить базовые c операторы печати, загруженные в inte rnet, но когда я пытаюсь сослаться на класс в том же проекте, но в другом пакете, я получаю экран ошибки. Я не понимаю эти ошибки и убедился, что я обновил и переустановил новую версию JDK. Это происходит только при вызове другого класса. Первоначальной ошибкой было «Тестер / Нижний регистр был скомпилирован более поздней версией Java Runtime (версия файла класса 57), эта версия Runtime распознает только версии файла класса до 52.0 (невозможно загрузить класс [tester.Lowercase»). ()] ". Это когда я установил другой JDK, и теперь я получаю другую ошибку, для которой мне труднее найти решение. Ошибка, показанная в индексе. jsp - это" суперкласс "javax.servlet .http.HttpServlet "не найден в java пути сборки". Я решил пока игнорировать это, поскольку друг сделал такой же точный код, что и я, на своем компьютере и смог легко заставить его работать. Эта ошибка была также решена, когда я выбрал Tomcat в разделе Runtime в моем Project Facets, в меню свойств моего проекта.

Это jsp файл с названием "index. jsp"

<%@ page import="tester.Lowercase" %>
<html>
<body>
   <% out.println(Lowercase.makeItLower("MAKE THIS LOWERCASE")); %>
</body>
</html>

Это класс java, озаглавленный "Строчные буквы. java"

package tester;

public class Lowercase {
   public static String makeItLower(String data) {
      String str = data.toLowerCase();
      return str;
   }
}

Я знаю, что это действительно простой код и должно быть простым заданием, но эту ошибку я получаю Тин мешает мне продвигаться в создании этого веб-приложения.

1 Ответ

0 голосов
/ 17 февраля 2020

Вы говорите, что решили проблему UnsupportedClassVersionError, поэтому я не буду об этом говорить.

Java SE не включает javax.servlet.http.HttpServlet в свою библиотеку классов. Этот класс и связанные классы происходят из Java EE API. Поэтому для компиляции JSP в Eclipse необходимо настроить путь сборки для своего проекта, включив в него файл JAR, содержащий эти API.

Вы можете загрузить различные версии API из Maven. Центральный; например, эта страница предоставит вам версию 3.0.1 https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/3.0.1. Нажмите на ссылку "jar" на этой странице. Или, если вы используете один из поддерживаемых инструментов сборки, добавьте соответствующую информацию о зависимостях на этой странице в файл сборки.

Причина, по которой ваш JSP работает при развертывании в Tomcat, заключается в том, что Tomcat имеет свою собственную копия классов сервлета, и она автоматически включает их в свой путь к классу сборки, когда компилирует JSP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...