【问题标题】:java.lang.ClassNotFoundException: javax.servlet.Servletjava.lang.ClassNotFoundException: javax.servlet.Servlet
【发布时间】:2011-02-09 13:45:48
【问题描述】:

当我尝试运行 jar 文件时收到此异常

java.lang.ClassNotFoundException: javax.servlet.Servlet

文件 servlet-api-2.5-6.1.14.jar 与我试图运行的 jar 位于同一目录中。

servlet-api-2.5-6.1.14.jar 包含类 javax.servlet.Servlet

有什么想法吗?

谢谢

【问题讨论】:

  • 显示您用于运行 .jar 文件的命令。
  • 导入是否正确,是否在类路径中正确引用?
  • @Jules:这个问题与导入无关。它们只能产生编译时错误。更有可能是类路径问题。

标签: java servlets


【解决方案1】:

您需要将其路径包含在您正在运行的 JAR 的 MANIFEST.MF 文件的 Class-Path 条目中。假设两个 JAR 都在同一个文件夹中:

Class-Path: servlet-api-2.5.6.1.14.jar

我只是想知道将 Servlet API 作为普通 Java 应用程序的依赖项有何用处。

【讨论】:

    【解决方案2】:

    您将需要 servlet api 和 Web 应用程序中的任何依赖库。 要运行 Web 应用程序,您需要将其“部署”在 servlet 容器或应用程序服务器上,如 tomcat、jboss、jetty 等。运行您的 Web 应用程序所需的所有库都包含在您的容器/容器类路径中。您不必在应用程序配置中明确定义它们。

    如果您正在专门开发像应用程序服务器这样的应用程序,并且想自己开发服务器,则需要将 servlet 库添加到应用程序的类路径中。

    【讨论】:

      猜你喜欢
      • 2013-04-05
      • 1970-01-01
      • 2017-03-21
      • 2011-11-26
      • 2017-07-07
      • 2015-01-10
      • 2021-11-06
      • 2015-03-17
      • 2019-03-01
      相关资源
      最近更新 更多