繁体   English   中英

如何在命令行中为Tomcat编译servlet? 错误:包javax.servlet不存在

[英]How to compile a servlet for Tomcat in command line? error: package javax.servlet does not exist

编译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容器和使用命令行的简单文本编辑器。

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

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

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

关键部分是:

javac -classpath C:\apache-tomcat-7.0.23\lib\servlet-api.jar MyTestServlet.java

Windows用户:

我自己遇到了这个问题,这里的解决方案运行良好

只需将此路径添加到CLASSPATH环境变量“C:\\ Program Files \\ Apache Software Foundation \\ Tomcat 7.0 \\ lib \\ servlet-api.jar”

jar名称前面的路径可能因安装而异。 只需转到tomcat的lib文件夹并复制整个目录。

有关初学者的更多信息:您可以在此处找到环境变量MyComputer - >属性 - >高级设置 - >高级选项卡

现在您只需转到cmd提示符并输入“javac Myclass.java”

希望这可以帮助!

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

在Wikipedia上阅读有关java类路径的内容

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

在你的例子中

javax.servlet包不是引导程序包或扩展程序包的一部分,因此必须手动将其添加到类路径中。 ALJI已经向您展示了如何从命令行执行此操作。 上面的Wikipedia链接也提供了示例。

建议

在开始使用新语言时,每个人都会遇到这些类型问题。 Google提供的教程将帮助您对Java类路径有一个基本的了解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM