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

启动CodeServer遇BindException:GWT Super Dev Mode端口冲突问题咨询

GWT Super Dev Mode与CodeServer端口冲突问题解决

问题2解答:启动Super Dev Mode时是否默认启动9876端口的CodeServer?

是的,当你通过com.google.gwt.dev.DevMode启动Super Dev Mode时,该主类会默认在内部启动一个CodeServer实例,且默认监听9876端口。这就是你后续启动独立CodeServer时遭遇端口占用的直接原因——即使你给DevMode加了-codeServerPort 9997参数,若模块配置或页面调试逻辑未同步,内置CodeServer仍可能沿用9876端口,或者页面仍指向该端口。

问题1解答:如何让CodeServer与Super Dev Mode共用端口

你完全不需要单独启动com.google.gwt.dev.codeserver.CodeServer主类,DevMode已经整合了CodeServer的功能,只需调整配置让内置实例正常工作即可,步骤如下:

  1. 确保DevMode的内置CodeServer使用指定端口
    你的启动参数里已经添加了-codeServerPort 9997,但需要验证参数是否生效:

    • 启动DevMode后,查看日志输出,确认是否有CodeServer started on port 9997类的提示,若依然显示9876,检查Eclipse启动配置的参数是否被引号/变量干扰,或者同步gwt-maven-plugin的配置:
      <plugin>
        <groupId>net.ltgt.gwt.maven</groupId>
        <artifactId>gwt-maven-plugin</artifactId>
        <version>...</version>
        <configuration>
          <modules>...</modules>
          <superDevMode>
            <codeServerPort>9997</codeServerPort>
          </superDevMode>
        </configuration>
      </plugin>
      
  2. 同步模块页面的调试脚本/书签端口
    模块页面仍指向9876,说明调试逻辑未更新:

    • 若页面内嵌调试脚本,修改端口为9997:
      var moduleBaseURL = window.location.protocol + '//' + window.location.hostname + ':9997/';
      
    • 若使用调试书签,更新书签URL的端口:
      javascript:var%20s=document.createElement('script');s.src='http://127.0.0.1:9997/dev_mode_on.js';document.body.appendChild(s);
      
  3. 验证端口占用状态
    启动DevMode后,检查端口占用:

    • Windows:netstat -ano | findstr :9876
    • Linux/Mac:lsof -i :9876
      若9876仍被占用,说明-codeServerPort参数未生效,需排查Eclipse启动配置的参数传递是否正确。

额外说明

如果确实需要单独启动CodeServer(比如多模块独立调试),则必须停止DevMode,同时给独立CodeServer指定未被占用的端口(如9877),并同步所有模块的页面脚本指向该端口——此时不能同时启动DevMode,否则它会内置占用9876端口导致冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 00:53:14