如何在命令行中编译Tomcat的servlet ?错误:package javax.不存在Servlet



当我编译Java文件时,我得到了这个错误消息:

error: package javax.servlet does not exist

我为Java 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容器和简单的文本编辑器与命令行。

您需要在编译时类路径中包含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项目中包含这些的有用信息:如何导入javax。我的Eclipse项目中的servlet API ?

如果您使用命令行来构建项目,您很可能需要将这些添加到javac的classpath参数中,以便将这些jar添加到类路径中。

参见这个问题:如何从命令提示符编译servlet ?

关键部分是:

javac -classpath C:apache-tomcat-7.0.23libservlet-api.jar MyTestServlet.java

Windows用户:

我自己也遇到过这个问题,这里有一个很好的解决方案

只需将此路径添加到CLASSPATH环境变量"C:Program FilesApache Software FoundationTomcat 7.0libservlet-api.jar"

jar名称前的路径可能因安装而异。进入tomcat的lib文件夹,复制整个目录。

为初学者提供更多信息:您可以在这里找到环境变量我的电脑->属性->高级设置->高级选项卡

现在你可以简单地转到cmd提示符并输入" javac Myclass.java "

希望这对你有帮助!

javac -classpath /Library/Tomcat/lib/servlet-api.jar *.java

在维基百科上阅读java类路径

准备好"概述和架构"下的最后一段。

在你的例子中

javax。Servlet包不是引导包或扩展包的一部分,所以它必须手动添加到类路径中。ALJI向您展示了如何从命令行执行此操作。上面的维基百科链接也提供了一些例子。

推荐

每个人在开始学习一门新语言时都会遇到这些类型问题。Google有很多教程可以帮助您对Java类路径有一个基本的了解。

相关内容

最新更新