包javax.servlet.http不存在

And*_*rew 21 java servlets

我安装了jre7和jdk1.7.0以及Tomcat 7.0,但它显示了这个错误.servlet.http不是唯一一个"不存在"的,还有其他(servlet.)组件.

任何人都可以帮我吗?

更新:当我尝试以下命令时发生此错误:javac -classpath servlet-api.jar WebTest.java

Swa*_*lih 22

如果您正在使用maven项目,请将以下依赖项添加到您的pom.xml

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)


Bal*_*usC 18

如果您正在使用命令控制台来编译servlet,那么您应该/lib/servlet-api.jar在编译类路径中包含Tomcat .

javac -cp .:/path/to/tomcat/lib/servlet-api.jar com/example/MyServlet.java
Run Code Online (Sandbox Code Playgroud)

(在Windows中使用;而不是:路径分隔符)

如果您使用的是IDE,则应将Tomcat集成到IDE中,并将其作为项目中的目标运行时引用.如果您使用Eclipse作为IDE,请参阅此更多详细信息:如何在Eclipse项目中导入javax.servlet API?


ash*_*ina 16

您的CLASSPATH变量未指向包含javax类的目录.CLASSPATH变量指定java编译器应查找java类文件资源的位置.如果它不知道查看javax目录,那么它将永远不会找到你所追求的文件.

  • C:\ Program Files\Tomcat-3.2.3\lib\servlet.jar (3认同)

roa*_*chs 5

在*nix上,尝试:

javac -cp $CLASSPATH:$CATALINA_HOME/lib/servlet-api.jar Filename.java
Run Code Online (Sandbox Code Playgroud)

或者在Windows上,尝试:

javac -cp %CLASSPATH%;%CATALINA_HOME%\lib\servlet-api.jar Filename.java
Run Code Online (Sandbox Code Playgroud)