java.lang.ClassCastException:org.glassfish.jersey.servlet.ServletContainer 无法转换为 javax.servlet.Servlet

2024-01-15

由于以下错误,我无法在 Tomcat 7.0 服务器上启动 Web 应用程序:

java.lang.ClassCastException: org.glassfish.jersey.servlet.ServletContainer cannot be cast to javax.servlet.Servlet

我的 web.xml ,其中包括 Servlet 容器:

<?xml version="1.0" encoding="UTF-8"?>
<!-- This web.xml file is not required when using Servlet 3.0 container,
 see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>fr.tessi</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
</web-app>

这是我的 pom.xml :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>fr.tessi</groupId>
<artifactId>cassandra-cli-back</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>cassandra-cli-back</name>

<build>
    <finalName>cassandra-cli-back</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <inherited>true</inherited>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey</groupId>
            <artifactId>jersey-bom</artifactId>
            <version>${jersey.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>
        <!-- use the following artifactId if you don't need servlet 2.x compatibility -->
        <!-- artifactId>jersey-container-servlet</artifactId -->
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson-2-version}</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-moxy</artifactId>
    </dependency>
    <dependency>
        <groupId>com.netflix.astyanax</groupId>
        <artifactId>astyanax-core</artifactId>
        <version>1.56.48</version>
    </dependency>
    <dependency>
        <groupId>com.netflix.astyanax</groupId>
        <artifactId>astyanax-cassandra</artifactId>
        <version>1.56.48</version>
    </dependency>
    <dependency>
        <groupId>com.netflix.astyanax</groupId>
        <artifactId>astyanax-thrift</artifactId>
        <version>1.56.48</version>
    </dependency>
    <!-- <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.6.1</version>
    </dependency> -->

</dependencies>
<properties>
    <jersey.version>2.6</jersey.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <jackson-2-version>2.4.3</jackson-2-version>
</properties>

尽管“servlet-api”依赖项提供了范围,但它仍然在启动时下载。

已经尝试使用 Stack OverFlow 和其他网站上找到的多个类来更改 servlet-class,但没有结果。它不断发送错误。

`


servlet-api.jar 是否包含在您的 war 文件中?如果有,请手动将其删除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.ClassCastException:org.glassfish.jersey.servlet.ServletContainer 无法转换为 javax.servlet.Servlet 的相关文章

  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]-MySQL

    我是 Hibernate 的新手 我目前正在使用 Spring boot 框架并尝试通过 hibernate 创建数据库表 我知道以前也问过同样的问题 但我似乎无法根据我的环境找出如何修复错误 休眠配置文件
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • 当 OnFocusChangeListener 应用于包装的 EditText 时,TextInputLayout 没有动画

    不能比标题说得更清楚了 我有一个由文本输入布局包裹的 EditText 我试图在 EditText 失去焦点时触发一个事件 但是 一旦应用了事件侦听器 TextInputLayout 就不再对文本进行动画处理 它只是位于 editText
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • 非 Spring 托管类中 DI 的编译时编织

    我想为标记为的类配置编译时编织 Configurable注释能够将 spring 依赖项注入到初始化的类中new操作员 我不想使用加载时编织 因为我无权访问应用程序服务器的运行脚本 因此无法修改它 另外 我希望能够在测试中使用此类 我的意思
  • Eclipse 启动时崩溃;退出代码=13

    I am trying to work with Eclipse Helios on my x64 machine Im pretty sure now that this problem could occur with any ecli
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供

随机推荐

  • 如何从 VIM 在新选项卡中打开终端?

    当我使用 4 个文件时 所有文件都在选项卡 VIM 中打开 我想保存更改并编译它 而不必关闭选项卡 即我想在新选项卡中与现有的 4 个选项卡一起打开一个终端 我应该如何在 VIM 中执行此操作 tab ter 打开一个终端在新标签中而不是在
  • 如何在 linq 中对子列表求和?

    我想对列表的子列表上的属性求和 示例 I have public class List1 public List
  • 修改列表删除元素而不造成混乱

    我现在正在尝试解决一个听起来像这样的任务 编写一个函数 modi la lb 它接受输入 2 列表 la 和 lb 其中的元素数量相同 该功能应该modify列出 la 和 lb 比较两个列表中具有相同索引的元素并删除较大的一个 如果元素相
  • 为什么 FLAC Streaming over HTTP 采用 Ogg 封装而不是原生封装?

    当前所有 FLAC 流媒体实现 例如 Edcast 和 Icecast 似乎都在流媒体时使用 Ogg 作为 FLAC 的容器 这是什么原因呢 有什么缺点not使用 Ogg 并改为流式传输 本机 FLAC 流 我已经做了一些通过 HTTP 传
  • 使用 EWS 的 PR_SEARCH_KEY

    我需要提取PR SEARCH KEY对于某些邮件使用EWS 我之前是使用 Outlook API 完成的 但我想在 EWS 中重新编写完整的代码 因为它非常强大 旧代码 private String GetLnksForMailBoxMai
  • 使用 C# 将 excel 转换为 JSON,并将 excel 中的第一行作为键

    我正在寻找从中读取数据excel 2010通过指定工作表名称 然后我想将数据转换为JSON格式 假设我有一个这样的 Excel 工作表 Name Age Country Waugh Timothy 10 UK Freeman Neil 20
  • JavaFX 3-D 条形图与 Java 8

    是否有使用现代 3 D API 的最新 Java 8 的 3 D 条形图示例 我想使用 Java 8 中的 3 D API JavaFX 的早期版本中有一个 3d Bar Chart 演示 但已被删除 您可以自己创建条形图 只需创建一个网格
  • 在 Silverlight 中迭代枚举?

    在 Net 中 可以使用以下方式迭代枚举 System Enum GetNames typeof MyEnum or System Enum GetValues typeof MyEnum 然而 在 Silverlight 3 中 未定义
  • Mobaxterm:如何防止 ssh 会话退出?

    我该如何阻止这个 Session stopped Press
  • SwiftUI 拖放文件

    我正在尝试向我的 SwiftUI Mac 应用程序添加 拖放 手势 功能 我想将文件从我的系统 桌面拖放到我的应用程序中 我发现在常规 Swift 中这是可能的 我现在正在尝试在 SwiftUI 中执行此操作 我找到一个onDrop Swi
  • UITableView didSelectRowAt 不称为 iOS 10,但适用于 9.3.5

    关于这个问题有很多问题 但到目前为止我找到的答案并不适用 在这种情况下 该表在 iOS 9 3 5 中正常工作 但不适用于 iOS 10 或 10 3 1 我已经排除了 没有正确设置委托 代表执行 3 个功能 didSelectRowAt
  • 我应该为所有内容编写单元测试吗?

    我想知道我是否应该为所有内容编写单元测试 有一些类很难编写单元测试 例如 我正在编写一些处理音频的程序 用于从麦克风捕获音频的类和用于向扬声器播放音频的类 我如何为这些类编写单元测试 我无法获得这些类的输出和输入 因此几乎不可能测试它们 我
  • 退出在子子程序中打开的 Word.Application

    我们宣布Word Application对象在Pro1下面的子函数 因为我们需要返回Word Document对象 应保持打开状态 我怎样才能退出父子例程中的Word应用程序 test01 我需要objWord声明于的对象Pro1函数将在没
  • Android SDK 中的虚拟摇杆

    我想在我的 Android 应用程序中制作一个虚拟操纵杆来控制遥控汽车 我怎样才能做到这一点 我可以使用 API 来执行此操作吗 我在网上查看的代码示例似乎不起作用 你可以看一下这个 很简单 有文档等 https github com co
  • 如何在 Visual Studio 2008 或 Visual Studio 2010 中设置 JavaScript 断点

    我正在尝试使用 Visual Studio 2010 调试 JavaScript 代码 但无法设置断点 我怎样才能做到这一点 我只是注意到了一些事情 每次我尝试调用一个函数 无论什么函数 在 JavaScript 中 不知何故jQuery
  • 如何通过命令行对 apk 进行签名

    请注意 我们已经在 Android SDK 的帮助下通过命令行创建了 apk 文件 现在 由于将其上传到 Google Play 商店 需要对 apk 进行签名 我们该怎么做呢 首先 您需要一个密钥库来开始该过程 您将使用此密钥库对您的 a
  • 使用 SFINAE 和 void_t 区分类型

    我遇到了一些情况 我必须编写两个函数 其中一个应该使用原始类型调用 std string 另一种应该用其他类型来调用 到目前为止 我以工作解决方案结束 template
  • 为什么 Google Appengine 连接到 CloudSQL 的速度这么慢

    当连接到 CloudSQL 后端时 我发现开发和生产之间的延迟存在巨大差异 比我预期的要大得多 我进行了一个测试 其中 我获取了 125 250 500 1000 和 2000 行 行大小约为 30 字节 我获取了每行大小 20 次 以获得
  • 如何对电子邮件发送进行单元测试?

    我想使用 NET C 框架或任何兼容的库测试我的电子邮件发送功能 有什么建议吗 如果您只需要测试发送电子邮件 您可以像这样配置您的 config 文件
  • java.lang.ClassCastException:org.glassfish.jersey.servlet.ServletContainer 无法转换为 javax.servlet.Servlet

    由于以下错误 我无法在 Tomcat 7 0 服务器上启动 Web 应用程序 java lang ClassCastException org glassfish jersey servlet ServletContainer cannot