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

Java新手搭建JAX-RS端点访问失败,Tomcat/GlassFish均无法访问求助

JAX-RS端点无法访问排查方案

1. 校验核心注解配置

  • 确认存在JAX-RS应用启动配置类,继承Application且添加@ApplicationPath注解,示例如下:
    // 若使用Java EE 8及更早版本,将jakarta替换为javax
    import jakarta.ws.rs.ApplicationPath;
    import jakarta.ws.rs.core.Application;
    
    // 此处配置的是接口公共前缀,对应访问路径中的/api段
    @ApplicationPath("/api")
    public class JaxRsApplication extends Application {
    }
    
  • 确认业务资源类的注解配置正确,示例如下:
    import jakarta.ws.rs.GET;
    import jakarta.ws.rs.Path;
    import jakarta.ws.rs.Produces;
    import jakarta.ws.rs.core.MediaType;
    
    // 此处配置的是当前资源的路径,对应访问路径中的/hello-world段
    @Path("/hello-world")
    public class HelloWorldController {
        @GET
        @Produces(MediaType.TEXT_PLAIN)
        public String sayHello() {
            return "hello world";
        }
    }
    

2. 校验依赖配置

  • 若使用Tomcat作为服务器:Tomcat本身不内置JAX-RS实现,需要手动引入Jersey或RestEasy依赖,以Maven引入Jersey为例:
    <dependencies>
      <!-- JAX-RS实现 -->
      <dependency>
          <groupId>org.glassfish.jersey.containers</groupId>
          <artifactId>jersey-container-servlet</artifactId>
          <version>3.1.5</version>
      </dependency>
      <!-- 依赖注入组件 -->
      <dependency>
          <groupId>org.glassfish.jersey.inject</groupId>
          <artifactId>jersey-hk2</artifactId>
          <version>3.1.5</version>
      </dependency>
    </dependencies>
    
  • 若使用GlassFish作为服务器:GlassFish内置JAX-RS实现,不需要额外引入上述依赖,注意不要在打包时引入冲突的JAX-RS相关依赖即可。

3. 校验应用部署配置

  • 打开Intellij的服务器运行配置,切换到「部署」标签页,确认应用的上下文路径确实为/Demo-1.0-SNAPSHOT,如果上下文路径有修改,访问地址的对应部分也要同步修改。
  • 确认所有配置类、资源类都放在项目的源码目录下,会被编译器打包到最终的war包中。

4. 校验服务启动状态

  • 查看服务器启动日志,确认应用无报错、部署成功,同时可搜索JAX-RS相关的初始化日志,确认你的业务资源类被正常扫描注册。

所有配置校验无误后,访问http://localhost:8080/Demo-1.0-SNAPSHOT/api/hello-world即可正常拿到返回结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:18:01