错误:包javax.servlet.http不存在
我试图创建我的第一个servlet,当我试图编译代码时,我遇到了上面的错误。我在stackoverflow上读到,这是因为SE JDK不包含servlet api。但是,我使用以下命令行进行编译:错误:包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。请你告诉我为什么我仍然得到这个错误。我正在
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中——我想这是有意的。