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

Eclipse启动服务器遇Class Not Found Exception,附web.xml求助

解决Eclipse启动服务器时的Class Not Found Exception(针对Jersey ServletContainer)

看起来你碰到的是org.glassfish.jersey.servlet.ServletContainer类找不到的问题,这在配置Jersey Web应用时属于高频问题。结合你给出的web.xml片段,我整理了几个针对性的排查和解决方向:

1. 确认Jersey依赖是否正确引入

  • Maven项目:检查pom.xml中是否添加了jersey-container-servlet依赖,版本要和你使用的Jersey版本匹配,示例配置:
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet</artifactId>
        <version>2.41</version> <!-- 替换为你实际使用的版本 -->
    </dependency>
    
  • 手动导入Jar包:确保jersey-container-servlet.jar已经放在项目的WEB-INF/lib目录下,并且Eclipse已将其加入构建路径(右键项目 → Build Path → Configure Build Path → Libraries,查看是否包含该Jar)。

2. 验证项目部署配置

  • 右键Eclipse中的服务器(如Tomcat)→ Add and Remove,确认你的项目已正确添加到服务器部署列表中。
  • 检查服务器的实际部署目录(如Tomcat的webapps/你的项目名/WEB-INF/lib),确认Jersey相关Jar包存在。若缺失,可手动复制Jar包到该目录,或执行以下操作重新部署:
    1. 点击菜单栏 Project → Clean,清理项目缓存。
    2. 重启服务器,触发重新部署。

3. 匹配Jersey版本与Servlet类路径

你配置的servlet-class是org.glassfish.jersey.servlet.ServletContainer,这是Jersey 2.x的类路径。如果你的项目使用的是Jersey 1.x,这个路径是错误的,1.x对应的类路径应为:

<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>

请确认你使用的Jersey版本与配置的类路径完全匹配。

4. 检查构建路径的导出设置

右键项目 → Build Path → Configure Build Path → 切换到Order and Export标签,确保所有Jersey相关的Jar包都勾选了「Export」选项。只有勾选的Jar包才会被部署到服务器的WEB-INF/lib目录中,否则会出现类找不到的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:25:09