java.lang.ClassNotFoundException : org. glassfish.jersey.servlet.ServletContainer 异常

标签 java eclipse web-services rest jersey

你可能觉得这是一个重复的问题,但同名问题都没有解决我的问题。我正在使用 Jersey 2.0 在 Eclipse 中创建一个 RESTful web 服务,我使用 Tomcat 7.0 作为我的服务器,我有以下 web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  <servlet>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.shop.domain</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <url-pattern>/jaxrs/*</url-pattern>
  </servlet-mapping>
</web-app>

我有一个名为 Hello 的简单类:

@Path("customers")
public class Hello {
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getCustomer() {
        return "hello";
    }
}

我有一个名为 jersey 的 Jersey 库:

enter image description here

每次我运行这个项目,我都会得到错误

java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer

有什么想法吗?

最佳答案

我想这已经得到解答,但只是想添加一个额外的提示。

对于 Eclipse 中的 Web 项目,几乎总是建议使用 Maven 管理依赖项。使用像 m2e 这样的 Maven 插件。将依赖项添加到 Maven 项目后,它应该会自动将这些库部署到 WEB-INF/lib。如果没有(无论出于何种原因),您可以明确地这样做:

  1. Project Explorer 中右键点击您的项目
  2. 选择属性
  3. 选择部署程序集
  4. 如果 Maven Dependencies 不是条目之一,则库不会自动添加,所以我们现在添加它们
  5. 选择添加
  6. 选择Java 构建路径条目
  7. 选择Maven 依赖项
  8. 点击完成

这应该将库添加到 WEB-INF/lib,尽管您仍然不会在 Project Explorer View 中看到它们。但是您的 ClassNotFoundException 现在应该消失了。

关于java.lang.ClassNotFoundException : org. glassfish.jersey.servlet.ServletContainer 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26444790/

相关文章:

java - 如何从数据库中获取用户名和密码并传递给 Spring MVC 中的方法

web-services - apt vs wsgen vs wsimport . 关于何时使用什么以及为什么不使用另一个的困惑

c# - 如何确定客户端是否在 WCF 服务返回数据之前断开连接?

web-services - REST Web 服务的 'WSDL' 的首选方法是什么?

java - FragmentTransaction addToBackStack fragment 在方向更改时重新创建

java - 可视化虚拟机可以从 Maven 中包含并监控我的应用程序吗

java - 如何在Android中调用与MainActivity不同的Activity的方法?

android - LogCat 不会显示我的日志

java - JPA/MySql 问题

android - Eclipse 中的 Logcat 在物理设备上不断清除