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

更新gwt-module.dtd后Maven编译报错,寻求技术解决方案

GWT模块编译错误及DTD更新后异常解决

环境与初始错误

使用Java 1.8编译器,JRE为jdk-17,执行mvn clean install编译Maven包时,出现如下编译错误:

[INFO] Compiling module mleWidgeset.MLEWidgetset
[INFO]    [ERROR] Hint: Check that your module inherits 'com.google.gwt.core.Core' either directly or indirectly (most often by inheriting module 'com.google.gwt.user.User')

尝试的解决操作

参考相关方案后,将GWT模块XML文件的DTD引用从:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.5.1/distro-source/core/src/gwt-module.dtd">

替换为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.9.0//EN" "http://www.gwtproject.org/doctype/2.9.0/gwt-module.dtd">

更新后出现的新问题

所有修改过该XML文件的项目均出现XML解析类错误(如"序言中不允许出现内容"或DTD加载失败),已确认该DTD链接可正常访问下载。

解决方案建议

  • 统一GWT版本依赖:仅更新DTD引用但未升级项目GWT依赖会导致版本不匹配,需在pom.xml中将gwt-user、gwt-dev等核心依赖版本升级至2.9.0,保持与DTD版本一致。
  • 检查XML文件格式:确保XML文件为UTF-8无BOM编码格式,部分编辑器保存时添加的BOM会导致XML解析报错,可使用专业编辑器转换为"UTF-8无BOM"格式。
  • 确认模块继承配置:在GWT模块XML中添加<inherits name="com.google.gwt.user.User"/>(间接继承Core模块),解决初始的模块继承提示错误。
  • 调整JDK版本:GWT 2.9.0官方支持JDK 8~11,使用jdk-17存在兼容性风险,建议切换至JDK 11编译项目。
  • 清理Maven缓存:执行mvn clean install -U强制更新依赖,清除本地仓库中可能存在的旧版本缓存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 02:00:04