【问题标题】:How to compile a servlet for Tomcat in command line? error: package javax.servlet does not exist如何在命令行中为 Tomcat 编译 servlet?错误:包 javax.servlet 不存在
【发布时间】:2012-12-31 18:27:30
【问题描述】:

我在编译 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 容器 和带有命令行的简单文本编辑器。

【问题讨论】:

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


【解决方案1】:

您需要在编译时类路径中包含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

【讨论】:

  • 我没有使用 Maven 或 Eclipse ...请问如何将 Servlet-api 添加到我的类路径中?
  • 如果您打算进行任何认真的开发,我强烈建议您下载像 Eclipse 这样的 IDE,否则这将是许多此类问题中的第一个!
  • 更新了答案,如果你使用像 Eclipse 这样的 IDE,你的生活会更轻松:)
  • 如果你能帮我解决这个问题,我会给你 25 点声望 :)
【解决方案2】:

Windows 用户:

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

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

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

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

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

希望这会有所帮助!

【讨论】:

    【解决方案3】:
    javac -classpath /Library/Tomcat/lib/servlet-api.jar *.java
    

    【讨论】:

      【解决方案4】:

      了解 java 类路径 here on Wikipedia

      仔细阅读“概述和架构”下的最后一段。

      在你的例子中

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

      推荐

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

      【讨论】:

      • 我是 ALJI,我回答了我自己的问题 :)
      猜你喜欢
      • 1970-01-01
      • 2012-02-29
      • 2013-06-05
      • 2013-04-22
      • 1970-01-01
      • 1970-01-01
      • 2014-05-15
      相关资源
      最近更新 更多