You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ+Maven+Tomcat搭建Jersey REST服务报HTTP 500错误如何解决

问题根因

报错的核心原因是Jersey 2.28内置的ASM字节码解析库版本过老,不支持Java 16版本编译生成的字节码,扫描项目类时触发解析异常,最终导致Jersey Servlet初始化失败。


解决方案

以下两种方案二选一即可:

方案1:升级Jersey版本(推荐)

将pom.xml中两个Jersey相关依赖的版本升级到2.37及以上的稳定版,新版本的ASM已兼容Java 16字节码:

<dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-servlet</artifactId>
    <version>2.37</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.inject</groupId>
    <artifactId>jersey-hk2</artifactId>
    <version>2.37</version>
</dependency>

修改后执行Maven的clean、install命令,重启Tomcat即可。

方案2:降低Java编译版本

如果不想调整Jersey版本,可以将pom.xml中的编译版本降级到Jersey 2.28支持的Java 11或Java 8:

<properties>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
</properties>

可选校验项

  • 确认TestService类确实放在web包下,和web.xml中配置的扫描包路径一致
  • 确认Tomcat部署的上下文路径为TaskMenegerMaven-1.0,如果部署时修改了上下文路径,需要同步调整访问地址

内容的提问来源于stack exchange,提问作者Denis Sorokin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:27:01