Paket javax.- servlet.http ist nicht vorhanden aber servlet-api.jar tut
Hab ich meine GlassFish 3.1.2 web-server arbeiten gut mit Java SE 1.6 für reguläre Java-POJOs. Die Umgebungsvariable JAVA_HOME, JAVA_PATH, und JRE_HOME Variablen richtig gesetzt sind. Ich bin mit Linux CentOS6.2 und ich bin dabei alle java-Arbeit von vi und die Kommandozeile (z.B. keine frameworks oder tools wie Spring, Eclipse, etc.).
Nun möchte ich ein Java-Servlet, und ich bin immer Fehler wie:
package javax.servlet.http does not exist
Bin ich davon ausgegangen, dass seit meinem Umfeld Pfade richtig gesetzt sind, dass die servlet-Dateien sichtbar sein würde, um während der Kompilierung. Offensichtlich ist dies nicht der Fall ist.
Weiss jemand wie man diesen Fehler beheben? Wenn waren zu jagen, um auf meinem linux-Verzeichnisse, was mit dem Namen bin ich auf der Suche zu finden für die servlet jar-Datei? Wer weiß, wo sich diese Datei befindet sich ab JAVA_HOME für JDK 1.6?
Oder sind die servlet-bezogene Dateien, die nicht Teil des jdk 1.6 und heruntergeladen werden müssen separat installiert?
UPDATE:
Wenn ich Typ locate servlet-api.jar
von meinem linux-Eingabeaufforderung, gibt es einen Pfad in meinem GlassFish-installation Verzeichnisse (z.B. ~/glassfish3/glassfish/modules/javax.servlet-api.jar
). So, wie unten erwähnt, es ist Teil des GlassFish-installation.
InformationsquelleAutor ggkmath | 2012-05-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die servlet-API ist nicht Teil der Java SE, aber von Java EE. Es ist nicht im Bundle mit dem JDK. Finden Sie die Java ee-jar-Datei in Ihrem Glassfish installieren und steckte es in Ihre Zusammenstellung classpath.
glassfish3/glassfish/modules/javax.servlet-api.jar
auch funktioniert.InformationsquelleAutor JB Nizet
Müssen Sie
servlet-api
in Ihrem classpath, wenn es kompiliert wird, könnte es dort mit dem server aber es wäre zur Laufzeit (nicht zur compile-Zeit)ok. so stellen Sie sicher, es ist zur Laufzeit zu
der Punkt, der BalusC ist, dass die servlet-api-Glas ist nicht Bestandteil von Glassfish, aber der Java ee-jar-Datei ist, und natürlich enthält die servlet-api-Klassen. Es gibt keinen Grund, hinzufügen servlet-api.jar in den Laufzeit-classpath von Glassfish.
InformationsquelleAutor Jigar Joshi
Stellen Sie sicher, Sie haben servlet-api.jar in Ihrem classpath, da ist nicht Bestandteil des standard Java-SDK.
InformationsquelleAutor Suraj Chandran