ti-enxame.com

A superclasse "javax.servlet.http.HttpServlet" não foi encontrada no Caminho de Construção Java

Eu tenho um projeto criado pela integração do Maven no Eclipse. Tudo funciona bem, mas no espaço de trabalho em todos os arquivos JSP tem isso:

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

Para a primeira string em que lugar:

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

Quando eu crio um projeto web dinâmico básico e JSP em - tudo está bem, sem erros.

388
disable1992

Adicione um tempo de execução primeiro e selecione as propriedades do projeto. Em seguida, verifique o nome do servidor na guia "Tempos de execução", conforme mostrado na imagem.

Select runtime from Project Facets as shown the in image

605
Ajil Mohan

Inclua servlet-api-3.1.jar em suas dependências.

  • 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'
    }
    
233
user1907906

Projeto → Propriedades Tempos de execução Apache Tomcat funcionou para mim. Não há tempos de execução de destino em Facets (estou no Eclipse v4.2 (Juno)).

101
DMF

Para um projeto Ant :

Certifique-se de que você tenha servlet-api.jar na pasta lib.

Para um projeto Maven:

Certifique-se de que você tenha a dependência adicionada em POM.xml.

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

Outra maneira de fazer isso é : Atualize as facetas do projeto para pegar o servidor certo.

Marque esta caixa neste local:

Projeto → Propriedades Tempos de execução → Apache Tomcat (qualquer servidor)

44
Sireesh Yarlagadda

Projeto → Propriedades Tempos de execução → * O Apache Tomcat funcionou para mim. Não há tempos de execução de destino em Facets (estou em Eclipse v4.4 (Luna)).

29
Burak Durmuş

Adicionar o servidor Tomcat no tempo de execução do servidor fará o trabalho:

Propriedades do projeto Tempos de execução → Selecione seu servidor na lista, " Tempo de Execução do JBoss "→ Finish

No caso do Apache, você pode selecionar o Apache Runtime.

Enter image description here

20
Varun

Essas etapas podem realmente ajudar você:

  1. Se você não instalou nenhum servidor, é necessário seguir estas etapas:

    Menu Janela Preferências Expend Server Ambiente de tempo de execução Add → escolha um nome e escolha o caminho do servidor Apache que você já instalou no seu PC (você pode pressionar o download e instalar também) → Finish → OK

Ref # para mais informações, clique aqui

  1. Adicione o servidor Tomcat:

    Propriedades do Projeto Caminho de Construção Java Add Library → Selecione "Server Runtime" da lista * → Next → Selecione "Apache Tomcat" → Finish

Ref # Esta resposta

17
Chris Sim

Basta adicionar essas dependências ao seu arquivo 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

Adicionar o servidor Tomcat no tempo de execução do servidor fará o trabalho:

Propriedades do projeto → Java Build Path Adicionar biblioteca Selecione "Server Runtime" da lista → Próximo → Selecione "Apache Tomcat" → Finish .

7
adarsh hegde

Selecione o projeto → Propriedades Facetas do projeto Tempos de execução de destino VMware Server .

Isso funcionou para mim.

5
Anant Pathak

Se você não estiver usando o Maven, apenas solte o javax.servlet-api.jar na sua pasta lib do projeto.

2
Mahder

Como isso não está respondido, estou supondo que algo diferente das dependências do Maven esteja errado na construção do ops.

Apesar de não usar o Maven, eu tenho o mesmo problema de vez em quando ao recriar meu ambiente de desenvolvimento a partir do svn, e eu sempre esqueço o porquê e tenho que descobrir isso. Infelizmente parece que este é um problema com o Eclipse.

Eu sou capaz de remover todos esses erros de projetos que já funcionaram, escolhendo apenas um dos projetos dinâmicos da web, ou apenas projetos dependentes do Tomcat, e movo uma dependência na ordem de construção. Isso parece forçar todos os projetos a reconstruir corretamente e todos os erros são resolvidos.

Clique com o botão direito do mouse em um projeto da Web, selecione "Construir Caminho" -> "Configurar Caminho de Construção". Vá até a guia "Encomendar e exportar", escolha uma entrada de biblioteca ou jar e mova-a para cima ou para baixo. Eu usei a biblioteca do sistema JRE e movi-a para o topo.

Clique em OK e todo o vermelho desaparece!

2
kas

E se nada funcionar por qualquer motivo, construa-o a partir da linha de comando:

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