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

3 java tomcat servlets compiler-errors osx-mountain-lion

编译Java文件时,我收到此错误消息:

error: package javax.servlet does not exist
Run Code Online (Sandbox Code Playgroud)

我为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)
Run Code Online (Sandbox Code Playgroud)

我需要安装其他东西吗?

我使用Tomcat 7作为Servlet容器,/Library/Tomcat/ 并使用命令行进行简单的文本编辑器.

cow*_*wls 5

您需要servlet-api在编译时类路径中包含JAR.

如果您正在使用maven,请将其添加为pom.xml中的依赖项.

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这将包括编译时的依赖关系并在运行时使用Tomcat.

如果不是,您应该通过Eclipse将Tomcat添加为项目目标运行时.

这个问题有一些有用的信息,可以在Eclipse项目中包含这些:如何在Eclipse项目中 导入javax.servlet API?

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

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

关键部分是:

javac -classpath C:\apache-tomcat-7.0.23\lib\servlet-api.jar MyTestServlet.java
Run Code Online (Sandbox Code Playgroud)