2012-01-03 22 views
32

Ogni cosa andava bene e sono stato in grado di eseguire questo progetto JSP, improvvisamente qualcosa è successo e in gran parte tutti i miei servlet ottenere errore irrisolto.HttpServlet non può essere risolto con un tipo .... si tratta di un bug in eclissi?

So che la sua causa specifica del file JAR cant essere trovato per la compilazione .. ma la mia "buildpath" sta bene e non ha ancora i apportare modifiche ..

io sono bloccato in questa situazione ...

Provato

  1. progetto pulito molte volte
  2. rimuove e aggiunti biblioteca JRE
  3. rimosso e il server aggiunto (Tomcat 7.0.23)
+0

Duplicate: [Come faccio a importare l'API javax.servlet nel mio Eclipse progetto] (http: // StackOverflow.it/questions/4076601/how-do-i-import-the-javax-servlet-api-in-mio-eclipse-project) – BalusC

risposta

97

È necessario impostare il runtime per il vostro progetto web per l'installazione di Tomcat si sta utilizzando; puoi farlo nella sezione "Runtime mirati" della configurazione del progetto.

In questo modo si consentirà a Eclipse di aggiungere i jar del profilo Web Java EE di Tomcat al percorso di generazione.

Ricordare che la classe HttpServlet non si trova in un JRE, ma almeno in un profilo Web aziendale (ad esempio una cartella runtime/lib del contenitore servlet).

+0

Grazie mille per averlo risolto, ma non ho idea del motivo per cui deseleziona "Mirato runtimes "da solo, quando stavo effettivamente eseguendo il progetto –

+0

ora sto ricevendo un nuovo errore in consol da Tomcat " non è possibile eseguire il cast di com.swiftant.jsp.LoginFilter su javax.servlet.Filter " –

+1

Verificare che: is com .swiftant.jsp.LoginFilter davvero un'implementazione della giusta versione di javax.servlet.Filter? –

-2

Ho affrontato lo stesso problema in eclipse con tomcat7 con l'errore javax.servlet non può essere risolto. Se seleziono il server in modalità runtime mirata e compro nuovamente il progetto, l'errore viene risolto.

1

Significa che manca il barattolo di servizio.

controllare le librerie per il progetto. Configurare il buildpath scaricare **

servlet-api.jar

** e importarlo nel progetto.

1

Una soluzione semplice per me era andare a Proprietà -> Percorso build Java -> Ordina ed esporta, quindi controlla la libreria Apache Tomcat. Si presume che tu abbia già impostato Tomcat come target di distribuzione e continui a ricevere l'errore.

+0

Questo è ciò che ha funzionato per me. Apache Tomcat non è stato controllato e non appena ho controllato, ho smesso di ricevere l'errore. Prima di fare questo, ho dovuto scaricare e decomprimere Tomcat e quindi aggiungerlo come server su Eclipse. – MicSokoli

0

È successo anche a me e il motivo è stato selezionare una combinazione inappropriata di tomcat e modulo Web dinamico durante la creazione di un progetto in eclissi. Ho selezionato Tomcat v9.0 insieme al modulo Web dinamico versione 3.1 ed eclipse non è stato in grado di risolvere il tipo HttpServlet. Quando usato Tomcat 7.0 insieme al modulo web dinamico versione 7.0, eclipse era automaticamente in grado di risolvere il tipo HttpServlet.

questione connessa Dynamic Web Module option in Eclipse

Per verificare quale versione di Tomcat dovrebbe essere usato insieme a diverse versioni del Servlet e le specifiche JSP riferimento http://tomcat.apache.org/whichversion.html

Problemi correlati