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

Tomcat中JAX-RS(Jersey)资源无法调用的问题排查

问题排查与配置说明

一、HTTP 404错误排查要点

  • 核对Jersey核心配置:
    • 若使用web.xml配置,检查servlet-mapping的url-pattern是否为/webresources/*,确保Servlet名称与Jersey的Servlet定义匹配;
    • 若使用Servlet 3.0+注解驱动,确认Application子类上的@ApplicationPath("webresources")注解正确配置。
  • 检查资源类注解:确认MyResource类上标注了@Path("/myresource"),且接口方法(如GET请求方法)标注了@GET等对应HTTP方法注解,类需被Jersey扫描到(比如在Application子类中注册,或配置包扫描)。
  • 验证Maven打包完整性:查看生成的war包,确认WEB-INF/classes目录下存在MyResource.class文件,WEB-INF/lib包含Jersey相关依赖jar包。
  • 确认Tomcat部署结构:检查Tomcat的webapps/demorest_war目录,确保WEB-INF/web.xml、WEB-INF/classes、WEB-INF/lib结构完整,无文件缺失。
  • 检查URL大小写:Jersey的@Path注解默认区分大小写,确认请求URL中的myresource与注解中的拼写完全一致。

二、URL中demorest_war的配置位置

  • IntelliJ运行配置:打开Tomcat的Run/Debug Configurations,切换到Deployment标签页,Application context字段的值即为该上下文路径,直接修改即可调整URL中的路径部分。
  • Maven pom.xml配置:在<build>节点下添加<finalName>标签,例如:
    <build>
        <finalName>demorest</finalName>
        <!-- 其他配置 -->
    </build>
    
    打包后的war包名将变为demorest.war,部署到Tomcat后上下文路径自动变为/demorest。
  • Tomcat server.xml配置:在Tomcat安装目录的conf/server.xml中,找到<Host>节点,添加<Context>配置强制指定路径:
    <Host name="localhost" appBase="webapps">
        <Context path="/demorest" docBase="demorest_war" reloadable="true"/>
        <!-- 其他配置 -->
    </Host>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:55:20