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

GWT Maven项目SuperDev Mode异常:启动Jetty 6而非默认Jetty 8求助

我之前在维护GWT Maven项目时也碰到过一模一样的问题——SuperDev Mode莫名拉起Jetty 6,明明GWT版本对应的是Jetty 8/9,排查了好久才解决,给你几个实用的排查和修复方向:

1. 用Maven命令揪出Jetty 6的依赖来源

你说找不到加载Jetty 6的地方,其实Maven自带的依赖分析工具能帮你精准定位:

  • 执行mvn dependency:tree -Dincludes=org.mortbay.jetty,因为Jetty 6的groupId是org.mortbay.jetty,而Jetty 8+的groupId是org.eclipse.jetty,这条命令会过滤出所有引入Jetty 6的依赖链。
  • 如果输出结果不明确,再试试mvn dependency:analyze,它会帮你检查是否有未声明的间接依赖,可能能找到隐藏的Jetty 6引用。

2. 强制排除Jetty 6依赖

一旦找到引入Jetty 6的那个依赖,直接在pom.xml里排除它的所有Jetty 6相关子依赖:

<dependency>
  <!-- 这里替换成你找到的引入Jetty6的依赖 -->
  <groupId>com.example</groupId>
  <artifactId>problematic-dependency</artifactId>
  <version>1.0.0</version>
  <exclusions>
    <exclusion>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>*</artifactId>
    </exclusion>
  </exclusions>
</dependency>

另外,建议在dependencyManagement节点里统一声明Jetty的版本,确保GWT自带的Jetty版本被优先使用:

<dependencyManagement>
  <dependencies>
    <!-- GWT 2.7对应Jetty 8,GWT 2.8对应Jetty 9 -->
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
      <version>8.1.19.v20160209</version>
    </dependency>
  </dependencies>
</dependencyManagement>

3. 检查GWT Maven插件的配置

很多时候问题出在GWT插件的版本或配置上:

  • 确保gwt-maven-plugin的版本和你的GWT版本完全匹配(比如GWT 2.7对应插件2.7.0,GWT 2.8对应2.8.2),插件本身会引入对应的Jetty依赖,版本不匹配就可能拉错Jetty。
  • 检查插件的<configuration>里有没有手动指定Jetty服务器类,比如如果有<server>org.mortbay.jetty.Server</server>,赶紧改成Jetty 8/9的类:org.eclipse.jetty.server.Server。

4. 清理Maven缓存并重新构建

本地Maven仓库的缓存有时候会搞鬼,比如旧的依赖没更新:

  • 执行mvn clean install -U,-U参数会强制更新所有快照和依赖,确保本地仓库里的jar都是最新的。
  • 如果是用IDE(IntelliJ/Eclipse)开发,记得刷新Maven项目,让IDE同步最新的依赖配置。

5. 调试类加载过程(终极方案)

如果以上方法都找不到问题,直接跟踪类加载过程:

  • 启动SuperDev Mode时添加VM参数:-verbose:class
  • 查看启动日志,找到org.mortbay.jetty.Server的加载记录,日志里会显示这个类是从哪个jar包加载的,比如:
    [Loaded org.mortbay.jetty.Server from file:/Users/xxx/.m2/repository/org/mortbay/jetty/jetty/6.1.26/jetty-6.1.26.jar]
    
    拿到这个jar包的路径后,再回到Maven依赖树里找它的引入来源,就能精准定位问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:52:47