Wie kompiliere ich ein Servlet für Tomcat in der Befehlszeile? Fehler: Paket javax.servlet existiert nicht

Ich habe diese Fehlermeldung erhalten, wenn ich eine Java-Datei kompiliert habe:

error: package javax.servlet does not exist 

Ich habe eine große .SH-Datei für Jave EE SDK installiert, eine Java-Version gibt mir das:

 java version "1.7.0_10" Java(TM) SE Runtime Environment (build 1.7.0_10-b18) Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode) 

Muss ich etwas anderes installieren?

Ich benutze Tomcat 7 als Servlet-Container in /Library/Tomcat/ und einfachen Texteditor mit der Befehlszeile.

Sie müssen das servlet-api JAR in den Kompilierungszeit-classnpfad einschließen.

Wenn Sie maven verwenden, fügen Sie dies als eine Abhängigkeit in der pom.xml hinzu.

  javax.servlet servlet-api 2.5 provided  

Das wird die Abhängigkeit zur Kompilierzeit einschließen und den Tomcat zur Laufzeit verwenden.

Wenn nicht, sollten Sie Tomcat als Projektziellaufzeit über Eclipse hinzufügen.

Diese Frage enthält nützliche Informationen zum Einbinden in ein Eclipse-Projekt: Wie importiere ich die javax.servlet-API in mein Eclipse-Projekt?

Wenn Sie zum Erstellen des Projekts eine Befehlszeile verwenden, müssen Sie diese wahrscheinlich zum classnpfadargument von javac hinzufügen, um diese jars zum classnpfad hinzuzufügen.

Siehe diese Frage: Wie kompilieren Sie Servlets von der Eingabeaufforderung?

Der Schlüssel ist:

 javac -classpath C:\apache-tomcat-7.0.23\lib\servlet-api.jar MyTestServlet.java 

Ein Windows-Benutzer:

Ich habe mich diesem Problem gestellt und hier ist die Lösung, die gut funktioniert hat

Fügen Sie diesen Pfad einfach Ihrer CLASSPATH-Umgebungsvariablen “C: \ Programme \ Apache Software Foundation \ Tomcat 7.0 \ lib \ servlet-api.jar” hinzu.

Der Pfad vor dem Jar-Namen kann je nach Installation abweichen. Gehe einfach in deinen lib-Ordner von Tomcat und kopiere das ganze Verzeichnis.

Weitere Informationen für Anfänger: Sie finden Umgebungsvariablen hier MyComputer -> Eigenschaften -> Erweiterte Einstellungen -> Registerkarte Erweitert

Jetzt können Sie einfach zur Eingabeaufforderung cmd gehen und “javac Myclass.java” eingeben

Hoffe das hilft!

 javac -classpath /Library/Tomcat/lib/servlet-api.jar *.java 

Lesen Sie hier über Java-classnpfade auf Wikipedia .

Fertig den letzten Absatz unter “Übersicht und Architektur”.

In Ihrem Beispiel

Das Paket javax.servlet ist nicht Teil der Pakete bootstrapped oder extension, daher muss es manuell dem classnpfad hinzugefügt werden. ALJI hat dir gezeigt, wie man das von der Kommandozeile aus macht. Der Wikipedia-Link oben bietet auch Beispiele.

Empfehlung

Jeder trifft diese Arten Probleme beim Starten einer neuen Sprache. Google enthält viele Tutorials, mit denen Sie grundlegende Kenntnisse über Java-classnpfade erhalten.