J'ai un paquet dans lequel j'importe javax.servlet.* et javax.servlet.http.*. Lorsque j'essaie de le compiler dans l'invite de commande, j'obtiens l'erreur suivante
Le paquet javax.servlet n'existe pas
J'utilise JDK 1.7.0 et Tomcat 6.0.
J'ai un paquet dans lequel j'importe javax.servlet.* et javax.servlet.http.*. Lorsque j'essaie de le compiler dans l'invite de commande, j'obtiens l'erreur suivante
Le paquet javax.servlet n'existe pas
J'utilise JDK 1.7.0 et Tomcat 6.0.
Vous devez ajouter le chemin d'accès au fichier /lib/servlet-api.jar
dans le classpath de la compilation.
javac -cp .;/path/to/Tomcat/lib/servlet-api.jar com/example/MyServletClass.java
Le classpath est l'endroit où Java doit rechercher les dépendances importées. Sinon, il utilisera par défaut le dossier actuel qui est inclus dans le chemin de classe. .
dans l'exemple ci-dessus. Le site ;
est le séparateur de chemin pour Windows ; si vous utilisez un système d'exploitation basé sur Unix, vous devez utiliser :
à la place.
Si vous êtes toujours confronté à la même erreur de complication, et que vous êtes en fait en utilisant Tomcat 10 ou une version plus récente, vous devez migrer les importations dans votre code source de javax.*
a jakarta.*
.
import jakarta.servlet.*;
import jakarta.servlet.http.*;
Ou simplement un IDE comme Eclipse. Je vous recommande cependant de continuer à apprendre à la dure jusqu'à ce que vous puissiez presque en rêver. Sinon, il sera difficile de comprendre comment les IDE fonctionnent sous les couvertures.
Mes excuses, si j'ai plus d'une classe de servlet, comment puis-je les ajouter pour résoudre ce problème ? merci
Est-ce un JSP ou un Servlet ?
En fait, ces deux paquets ne sont pas intégrés à Java comme java.io. Au lieu de cela, ils sont fournis avec le serveur Web compatible avec les servlets (par exemple, Tomcat). Ainsi, avant que le compilateur Java ne soit en mesure de compiler notre servlet, nous devons lui indiquer où trouver les classes de ces deux paquets.
Les classes requises sont normalement stockées dans un fichier appelé servlet.jar. L'emplacement exact de ce fichier dépend du logiciel de serveur Web que vous utilisez, mais dans le cas de Tomcat, vous pouvez le trouver dans le sous-répertoire lib du répertoire d'installation principal de Tomcat (par exemple, d : \Program Fichiers \Apache Groupe \jakarta -tomcat-3.2.3 \lib\servlet.jar ). Pour que le compilateur Java puisse compiler les Servlets, vous devez ajouter ce fichier au chemin des classes Java. Par défaut, Java recherche les classes uniquement dans le répertoire actuel ("."). Ainsi, "." est le chemin des classes par défaut. Si vous modifiez le chemin des classes pour inclure le fichier servlet.jar (".;d :.... \lib\servlet.jar " sous Windows, ".:/usr/.../lib/servlet.jar" sous Unix), alors la servlet devrait compiler sans problème.
Vous pouvez spécifier un chemin de classe à utiliser lorsque vous exécutez javac.exe comme suit :
d:\javadev> javac -classpath ".;d:\Program Files\Apache Group\ jakarta-tomcat-3.2.3\lib\servlet.jar" MyServlet.java
Ou sous Linux, javac utilise : au lieu de ;
server1> javac -classpath ".:./servlet/servlet.jar" MyServlet.java
Dois-je faire cela à chaque fois que je compile un fichier ? Je veux dire qu'il existe un moyen de définir le classpath à chaque fois que je compile un fichier.
Pour que vous puissiez compiler le fichier *.java, vous devez vous assurer que servlet.jar se trouve dans le classpath. Notez que les JSP sont finalement transformées en servlets qui sont, bien sûr, des fichiers Java.
Dans un environnement linux, le lien logiciel ne fonctionne apparemment pas. Vous devez utiliser le chemin physique. Par exemple, sur ma machine, j'ai un lien logiciel à l'adresse suivante /usr/share/tomacat7/lib/servlet-api.jar
et l'utiliser comme argument de classpath a fait échouer la compilation avec la même erreur. à la place, j'ai dû utiliser /usr/share/java/tomcat-servlet-api-3.0.jar
qui est le fichier vers lequel le lien logiciel pointe.
JSP et Servlet sont des programmes côté serveur. Il s'agit d'un paquet intégré dans un serveur comme Tomcat. Le chemin peut être le suivant
C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\jsp-api.jar
C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar
Il suffit de l'ajouter de la manière suivante
Right Click> My Computer>Advanced>Environment Variables>System variables
Do> New..> Variable name:CLASSPATH
Variable value:CLASSPATH=.;C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar;
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.