it-swarm.com.ru

Суперкласс "javax.servlet.http.HttpServlet" не найден в Java Пути сборки

У меня есть проект, созданный интеграцией Maven в Eclipse. Все работает нормально, но в рабочем пространстве во всех файлах JSP есть это:

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

К первой строке, где место:

<%@ page language="Java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

Когда я создаю базовый динамический веб-проект и JSP в - все в порядке, без ошибок.

396
disable1992

Сначала добавьте среду выполнения и выберите свойства проекта. Затем проверьте имя сервера на вкладке "Runtime", как показано на рисунке.

Select runtime from Project Facets as shown the in image

609
Ajil Mohan

Включите servlet-api-3.1.jar в свои зависимости.

  • Maven

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    
  • Gradle

    configurations {
        provided
    }
    sourceSets {
        main { compileClasspath += configurations.provided }
    }
    dependencies {
        provided 'javax.servlet:javax.servlet-api:3.1.0'
    }
    
235
user1907906

Свойства проекта → Время выполнения цели Apache Tomcat работал на меня. Под Facets нет Target Runtimes (я нахожусь Eclipse v4.2 (Juno)).

102
DMF

для проекта Ant:

Убедитесь, что у вас есть сервлет-api.jar в папке lib.

Для проекта Maven:

Убедитесь, что у вас есть зависимость, добавленная в POM.xml.

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>

Еще один способ сделать это: обновить фасеты проекта, чтобы подобрать нужный сервер.

Установите этот флажок в этом месте:

Свойства проекта → Целевые среды выполнения → Apache Tomcat (любой сервер)

45
Sireesh Yarlagadda

Свойства проекта → Target Runtimes → * Apache Tomcat работал на меня. Под Facets нет Target Runtimes (я нахожусь Eclipse v4.4 (Luna)).

29
Burak Durmuş

Добавление сервера Tomcat во время выполнения сервера сделает эту работу :

Свойства проекта Target Runtimes → Выберите свой сервер из списка, " JBoss Runtime "→ Finish

В случае Apache вы можете выбрать Apache Runtime.

Enter image description here

20
Varun

Эти шаги могут действительно помочь вам:

  1. Если вы не установили ни одного сервера, вам необходимо выполнить следующие действия:

    Меню Окно Настройки Сервер расходов Среда выполнения Добавить → выберите имя, а затем выберите путь к серверу Apache, который вы уже установили на свой компьютер (вы также можете нажать скачать и установить) → Finish → OK

Ref # для получения дополнительной информации, нажмите здесь

  1. Добавьте сервер Tomcat:

    Свойства проекта Путь сборки Java Добавить библиотеку → Выбрать "Runtime сервера" из списка * → Далее → Выбрать "Apache Tomcat" → Finish

Ref # Этот ответ

17
Chris Sim

Просто добавьте эти зависимости в ваш файл pom.xml:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.2.1</version>
    <scope>provided</scope>
</dependency>
14
A. El Idrissi

Добавление сервера Tomcat во время выполнения сервера сделает эту работу:

Свойства проекта → Путь сборки JavaДобавить библиотекувыберите "Время выполнения сервера" из списка → Далее → Выбрать "Apache Tomcat" → Готово.

7
adarsh hegde

Выберите проект → СвойстваФасеты проектаЦелевое время выполненияVMware Server.

Это сработало для меня.

5
Anant Pathak

Если вы не используете Maven, просто поместите javax.servlet-api.jar в папку lib вашего проекта.

2
Mahder

Поскольку на этот вопрос нет ответа, я полагаю, что в сборке ops что-то не так, как зависимости Maven.

Хотя я не использую Maven, время от времени у меня возникает одна и та же проблема при воссоздании среды разработки из svn, и я всегда забываю, почему и должен это выяснить. К сожалению, похоже, что это проблема Eclipse.

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

Щелкните правой кнопкой мыши веб-проект, выберите "Путь сборки" -> "Настроить путь сборки". Перейдите на вкладку "Порядок и экспорт", затем выберите запись в библиотеке или банке и переместите ее вверх или вниз. Я использовал Системную библиотеку JRE и переместил ее наверх.

Нажмите OK, и все это красное исчезнет!

2
kas

И если по какой-либо причине ничего не работает, соберите его из командной строки:

ant -Dj2ee.server.home=D:\Apache-Tomcat-8.0.23 clean

ant -Dj2ee.server.home=D:\Apache-Tomcat-8.0.23 compile

ant -Dj2ee.server.home=D:\Apache-Tomcat-8.0.23 dist
0
Puneet Pandey