错误:包javax.servlet.http不存在

错误:包javax.servlet.http不存在,java,servlets,compiler-errors,tomcat7,Java,Servlets,Compiler Errors,Tomcat7,我试图创建我的第一个servlet,当我试图编译代码时,我遇到了上面的错误。我在stackoverflow上读到,这是因为SE JDK不包含servlet api。但是,我使用以下命令行进行编译: javac -classpath C:/Tomcat7/lib/servlet-api.jar; -d ../classes com/example/web/BeerSelect.java. 如您所见,我在命令行中引用了servlet api。请你告诉我为什么我仍然得到这个错误。我正在

我试图创建我的第一个servlet,当我试图编译代码时,我遇到了上面的错误。我在stackoverflow上读到,这是因为SE JDK不包含servlet api。但是,我使用以下命令行进行编译:

javac -classpath C:/Tomcat7/lib/servlet-api.jar; 
      -d ../classes com/example/web/BeerSelect.java.
如您所见,我在命令行中引用了servlet api。请你告诉我为什么我仍然得到这个错误。我正在使用Tomcat7

谢谢


解决方案

对于任何感兴趣的人,我找到了我的问题。这是Windows命令shell的问题,而且我的目录名中有空格。我将tomcat应用程序保存为“tomcat 7”,并带有空格。我试着用“tomcat7”来达到它-那是没有空间的。。下面这行行是有用的

javac -classpath .;C:/Tomcat7/lib/servlet-api.jar;
      -d ../classes com/example/web/BeerSelect.java

将前斜杠更改为后斜杠,删除JAR后面的分号,然后重试:

javac -classpath C:\Tomcat7\lib\servlet-api.jar -d ..\classes com\example\web\BeerSelect.java

还要仔细检查所有路径,尤其是servlet api.jar。

如果您使用的是Maven,您应该将
servlet api 2.5
依赖项添加到提供的
范围中(有关更多详细信息,请参阅)。

我在一些网站上看到他们提到需要一个“;”放在windows系统的类路径之前。我还缺少其他问题吗?如果本地目录中有类路径上需要的其他类,这是个好主意。看起来您正在将编译后的类放在..\classes中——我想这是有意的。