使用GWT模块源路径仅编译部分Java类为JavaScript遇阻求助
GWT模块配置:仅编译指定子包的Java类
正确的模块配置方式
你的model.gwt.xml位于com.company.section.app.model包下,要仅编译com.company.section.app.model.to.javascript子包的类,不需要使用通配符,直接使用相对包路径即可:
<module> <source path="to.javascript"/> </module>
<source>标签的path属性是相对于模块所在包的路径,GWT会自动包含该路径下的所有类及其子包(如需排除子包可添加<exclude>标签)。你之前尝试的带*的写法是错误的,会导致GWT解析路径失败,甚至触发JVM内存访问错误(即你遇到的SIGSEGV致命错误)。
解决「No source code is available」错误
出现该错误的常见原因:
- 引用
DeviceDTO的模块未正确继承model模块,需在对应模块的.gwt.xml中添加:<inherits name="com.company.section.app.model.model"/> model模块的源码未被正确识别:确保maven-source-plugin生成的源码包已正确安装到本地仓库,且依赖该模块的项目已配置<classifier>sources</classifier>的依赖。
修复JVM致命错误(SIGSEGV)
该错误通常是GWT编译器与JDK版本不兼容导致的:
- 检查你的GWT版本对JDK的支持范围(例如GWT 2.10+支持JDK 8~17),尝试降级到JDK 8或11,或升级GWT到最新稳定版
- 清理maven缓存(
mvn clean install -U),重新构建项目
Maven配置验证
你已添加的maven-source-plugin配置是正确的,确保:
shared模块的源码包已正确生成并发布- 依赖
shared模块的项目中,groupId、artifactId和version与实际项目一致
内容的提问来源于stack exchange,提问作者masterdany88
相关产品推荐
相关产品推荐

