编译Java文件时出现此错误消息:
error: package javax.servlet does not exist
我为Jave EE SDK安装了一个大的.SH文件,Java版本给了我这个:
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
我是否需要安装别的东西?
我使用Tomcat 7作为位于/Library/Tomcat/
的Servlet容器
和命令行的简单文本编辑器。
答案 0 :(得分:5)
您需要在编译时类路径中包含servlet-api
JAR。
如果您正在使用maven,请将其添加为pom.xml中的依赖项。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
在编译时包含依赖项,并在运行时使用Tomcat。
如果不是,您应该通过Eclipse将Tomcat添加为项目目标运行时。
这个问题有一些关于在Eclipse项目中包含这些内容的有用信息: How do I import the javax.servlet API in my Eclipse project?
如果您使用命令行来构建项目,则很可能需要将这些添加到javac
的classpath参数中,以将这些jar添加到类路径中。
请参阅此问题:How to compile servlets from command prompt?
关键部分是:
javac -classpath C:\apache-tomcat-7.0.23\lib\servlet-api.jar MyTestServlet.java
答案 1 :(得分:2)
Windows用户:
我自己遇到了这个问题,这里的解决方案运行良好
只需将此路径添加到CLASSPATH环境变量“C:\ Program Files \ Apache Software Foundation \ Tomcat 7.0 \ lib \ servlet-api.jar”
jar名称前面的路径可能因安装而异。只需转到tomcat的lib文件夹并复制整个目录。
初学者的更多信息:您可以在此处找到环境变量 MyComputer - &gt;属性 - &gt;高级设置 - &gt;高级选项卡
现在您只需转到cmd提示符并键入即可 “javac Myclass.java”
希望这有帮助!
答案 2 :(得分:1)
javac -classpath /Library/Tomcat/lib/servlet-api.jar *.java
答案 3 :(得分:0)
了解java类路径here on Wikipedia。
准备好“概述和架构”下的最后一段。
在您的示例中
javax.servlet包不是引导程序包或扩展程序包的一部分,因此必须手动将其添加到类路径中。 ALJI已经向您展示了如何从命令行执行此操作。上面的维基百科链接也提供了示例。
<强>建议强>
每个人在开始使用新语言时都会遇到这些类型问题。 Google提供的教程将帮助您对Java类路径有一个基本的了解。