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

标签 java tomcat servlets compiler-errors osx-mountain-lion

我在编译 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 项目中的有用信息: How do I import the javax.servlet API in my Eclipse project?

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

看到这个问题:How to compile servlets from command prompt?

关键部分是:

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

关于java - 如何在命令行中为 Tomcat 编译 servlet?错误 : package javax. servlet 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14104937/

相关文章:

java - 正则表达式阻止某些特殊字符

java - 创建 ServletContext 资源 [/WEB-INF/hibernateContext.xml] 中定义的名称为 'sessionFactory' 的 bean 时出错

java - 在另一个字符串中找到该字符串的字符有多少次

tomcat - 我如何更新站点中的 tomcat java 应用程序?

tomcat - 配置数据源 - Struts 1.3.8

java - Scala 在 if/else 语句中返回对象类型

java - 没有 WebApp,WebSockets 无法工作

tomcat - 简单的 Tomcat 问题 在 Webapps 文件夹下创建一个新文件夹

Java:如何写入webapp中的文件夹?

security - 具有声明式安全性的 JSP 登录 - 实际身份验证是如何发生的?