【问题标题】:error: package javax.servlet.http does not exist错误:包 javax.servlet.http 不存在
【发布时间】:2012-07-13 14:24:49
【问题描述】:

我正在尝试创建我的第一个 servlet,但当我尝试编译我的代码时出现上述错误。我在 stackoverflow 上读到这是由于 SE JDK 不包含 servlet api。但是,我正在使用以下命令行进行编译:

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

如您所见,我在命令行上引用了 servlet-api。请你能告诉我为什么我仍然收到这个错误。我正在使用 tomcat 7

谢谢


解决方案

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

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

【问题讨论】:

    标签: java servlets compiler-errors tomcat7


    【解决方案1】:

    如果您使用 Maven,则应添加 servlet-api 2.5 依赖项和 provided 范围(有关详细信息,请参阅 here)。

    【讨论】:

      【解决方案2】:

      把正斜杠改成反斜杠,去掉JAR后面的分号,再试一次:

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

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

      【讨论】:

      • 我在一些网站上看到他们提到需要有一个“.;”放置在 Windows 系统的类路径之前。还有我遗漏的其他问题吗?
      • 如果您在本地目录中有其他类需要在类路径上,那将是一个好主意。看起来您将编译的类放在 ..\classes 中——我认为这是故意的。
      猜你喜欢
      • 2011-12-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      • 2018-02-12
      • 2012-10-28
      • 2011-10-03
      • 1970-01-01
      相关资源
      最近更新 更多