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

GWT2.9.0+GXT4.1.0+Java11运行Super Dev Mode报源路径错误

报错根因

GWT 2.x默认仅扫描模块描述文件(.gwt.xml)所在包下的client子包作为可转译JS的客户端源码路径,你的项目未使用Maven默认源码目录src/main/java,也未遵循默认的client子包结构,同时未显式声明自定义源码路径,就会触发该提示。

可行解决方案

按以下顺序配置即可修复:

1. 注册Maven自定义源码目录

你把源码放在了非标准路径,首先要让Maven和Eclipse识别这两个目录为源码根,否则编译和插件运行都会出现类找不到的问题。
在pom.xml的build节点下添加build-helper插件配置,原有gwt-maven-plugin等配置全部保留:

<build>
  <!-- 原有配置保留 -->
  <plugins>
    <!-- 原有插件保留,新增以下插件 -->
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>build-helper-maven-plugin</artifactId>
      <version>3.3.0</version>
      <executions>
        <execution>
          <id>add-custom-source</id>
          <phase>generate-sources</phase>
          <goals>
            <goal>add-source</goal>
          </goals>
          <configuration>
            <sources>
              <source>src/main/src-client</source>
              <source>src/main/src-common</source>
            </sources>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

配置完成后在Eclipse中右键项目,执行Maven -> Update Project,确认两个自定义源码目录图标上出现package标识,代表已经被IDE识别为源码根。

2. 修改GWT模块配置文件

两个.gwt.xml文件必须分别放在对应源码目录的根包下(比如你的根包是com.example,那Common.gwt.xml放在src/main/src-common/com/example/下,Main.gwt.xml放在src/main/src-client/com/example/下,不能放在无包的默认路径),然后分别添加source声明:

  • 编辑Common.gwt.xml,保留原有inherits等配置,新增源码路径声明,代表当前模块所在包及所有子包都属于GWT需要编译的客户端源码:
<!-- 原有inherits、entry-point等配置全部保留 -->
<source path=""/>
  • 编辑Main.gwt.xml,首先确认已经通过inherits引入Common模块:<inherits name="你的根包名.Common"/>,再同样添加当前模块的源码路径声明:<source path=""/>。不需要重复配置src-common下的路径,模块继承时会自动加载依赖模块声明的源码路径。

注意:配置了source标签的路径下不要放服务端代码,GWT会尝试将路径下所有类编译为JS,服务端依赖的Java EE等API不在GWT JRE可模拟范围内,会触发编译报错。服务端代码可以单独放在src/main/src-server目录,不需要加入GWT的source配置。

3. 修正Super Dev Mode启动配置

打开Eclipse中已有的SDM启动配置,做两项检查:

  • 切换到Classpath标签页,确认src/main/src-client、src/main/src-common两个目录都在User Entries条目下,优先级高于GWT第三方依赖包
  • 切换到Arguments标签页,检查Program Arguments中指定的启动模块名是Main模块的全限定名(比如com.example.Main),路径写错会导致GWT找不到模块配置
  • 首次启动前先删除项目下war/WEB-INF/deploy缓存目录、工作空间下的.gwt临时目录,避免旧缓存干扰。

配置完成后先执行一次mvn compile确认Maven编译无报错,再启动Super Dev Mode即可,该source路径报错会直接消失。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 01:39:18