Package javax.servlet does not exist

14 respostas
R

Pessoal, quando compilo um programa java esta ocorrendo “package javax.servlet does not exist”
O programa está assim:

package servlets.exemplos;

import <a href="http://java.io">java.io</a>.<em>;

import javax.servlet.</em>;

import javax.servlet.http.*;

public class ExemploServlet01 extends HttpServlet {



}

Minhas configurações:

autoexec:

SET JAVA_HOME = C:j2sdk1.4.1_02

SET J2EE_HOME = C:j2sdkee1.3

Tomcat 4.1
MySql

Alguém poderia me ajudar?

14 Respostas

R

no seu classpath estah faltando o arquivo servlet.jar

ele vem no tomcat…dentro de common/lib…(se nao me engano)…

falow

R
Colega Rafael, alterei o autoexec:

SET CLASSPATH=.; C:j2sdk1.4.1_02lib	ools.jar;C:j2sdk1.4.1_02libdt.jar;C:j2sdk1.4.1_02libhtmlconverter.jar;

C:j2sdkee1.3libj2ee.jar;C:j2sdkee1.3libj2ee-ri-svc.jar;C:j2sdkee1.3libejb10deployment.jar;C:j2sdkee1.3libjhall.jar;

C:mm.mysql.jdbc-2.0pre5mysql_both_comp.jar;C:mm.mysql.jdbc-2.0pre5mysql_both_uncomp.jar;

C:Tomcat 4.1commonlibservlet.jar

Mesmo assim o erro continua, vc tem outra idéia?
O tomcat e o MySql precisam estar rodando?

Muito obrigado!

R

para compilar o programa, eles nao precisam estar rodando nao…

qual ferramenta vc estah usando p/ codificar??

tente reiniciar a ferramenta…

falow

R

Colega,
Estou utilizando o TextPad, também tentei compilar pelo DOS, deu o mesmo erro!

Quando alterei o autoexec, reiniciei a mak.

Será que o J2EE está instalado corretamente, como descubro isto?

Valeu!

R

aparentemente estah tudo certo sim…

qdo vc altera o classpath, rpecisa reiniciar sua ferramenta de desenvolvimento p/ ter efeito…
mas se nem isso funciona, nao sei o q pode ser…

R

Algumas coisas estranhas que observei:

  • O tomcat está instalado no diretorio C:Tomcat 4.1, porém não consigo acessar este diretorio pelo DOS!!!
  • Tem um exemplo(C:Tomcat 4.1webappsexamplesWEB-INFclassesHelloWord.class) que funcionava beleza, renomeei este arquivo e recompilei o .java, deu o mesmo pau. Voltei o .class agora ele nao funciona mais!!!

Será que isto tem alguma coisa a ver?

Bani

Qual sistema operacional você está usando?

Sempre evite instalar essas coisas que você vai usar no Java em diretórios que contem espaços no nome, nunca se sabe os problemas que vai dar no futuro…

E se for Windows 98/ME, precisa reiniciar o computador após alterar o classpath no autoexec.bat (bom, não necessariamente, você pode só rodar o autoexec dentro do prompt do DOS que for usar, mas é mais prático reiniciar)

lalgarve

Achar este tipo de problema é dureza. Concordo com a sugestão de Bani de evitar nomes com espaço em branco.

Não sei se este é uma das causas do problema, mas já aconteceu comigo de não conseguir executar o Servlet pelo fato do arquivo servlet.jar estar no diretório “lib” da minha web application.

R

No site da SUN, diz:
Starting the J2EE Server
To launch the J2EE server, open a terminal window and type this command:
j2ee -verbose

Quando dou este comando numa janelo DOS do Windows 98, dá o erro:
ERROR: Set J2EE_HOME before running this script.

No autoexec está assim:
SET JAVA_HOME = C:j2sdk1.4.1_02
SET J2EE_HOME = C:j2sdkee1.3

Será que tem alguma coisa a ver?

Rafael_Steil

Nao eh necessario setar o J2EE_HOME para fazer a compilacao funcionar.
Copie o servlets.jar para o C:\ e aponte o CLASSPATH para ele, que deve funcionar.

Rafael

R

Colegas, seguindo as dicas, consegui compilar. Tive que renomear o diretorio, retirando o espaço em branco, e compilei via DOS:
C:Tomcat4.1webapps estesWEB-INFclassesservletsexemplos>javac -classpath "
C:javaservlet.jar" ExemploServlet01.java

Dúvidas:

  • Vou ter que alterar no autoexec as referencias ao tomcat 4.1, e aonde mais?
  • Não vou poder compilar pelo TextPad?
  • Toda vez que for usar o servlet terei que informar o classpath no comando?
  • Não teria uma forma mais amigavel de fazer isto tudo?
Bani

Colocando o C:\javaservlet.jar no classpath no autoexec.bat tudo deveria funcionar “automaticamente”, ou seja, no TextPad e sem colocar o -classpath toda vez.

R

Bom, resolvi o problema da seguinte forma: no Textpad tem a opção de acrescentar parametros na execução de ferramentas (tools), então coloquei no campo Parameters: -classpath C:javaservlet.jar $File, ($File já tinha), agora tá compilando beleza, pode não ser a melhor forma, se alguem souber de outra nos avise. No autoexec não funcionou em vários diretórios que coloquei.

Valeu, Pessoal !!!

R

Consertando a digitação: o comando classpath deve ter um hifen(-) antes da palavra classpath.
Neste editor não esta aparecendo a barra invertida (), sempre que informei C:javaservlet.jar, existe uma barra depois da palavara java.

Valeu…

Criado 3 de abril de 2003
Ultima resposta 7 de abr. de 2003
Respostas 14
Participantes 5