Windows10下Eclipse启动Vaadin项目Jetty服务器遇JettyRunMojo缺失错误
解决Windows下Vaadin+Jetty启动的GWT模块未找到及Mojo注入错误
嘿,看你遇到的问题——Linux上跑的好好的Vaadin项目,到Windows 10用Jetty启动就炸了,还报GWT模块找不到和JettyRunMojo注入错误,结合你用的JDK 1.8.0_171,我大概率能猜到是Windows特有的大小写问题或者Maven缓存/权限坑,给你几个实操的解决步骤:
1. 揪出GWT模块的大小写问题
Windows是大小写不敏感的系统,但Maven和GWT在处理模块文件时,其实还是认大小写的,而Linux是严格匹配所以没问题。
- 找到你的GWT模块配置文件(一般是
xxx.gwt.xml),比如你pom.xml里GWT插件配置的<module>是com.myapp.MyApp,那对应的文件路径必须是src/main/java/com/myapp/MyApp.gwt.xml,文件名的大小写要完全对应,不能写成myapp.gwt.xml或者MYAPP.gwt.xml。
2. 清理Maven缓存,重新构建
Windows下Maven的本地缓存偶尔会抽风,出现依赖损坏或者加载异常的情况,直接清了重来:
- 打开命令行,cd到你的项目根目录,跑这个命令:
mvn clean install -U-U会强制更新所有依赖,clean把本地构建的垃圾都清掉,之后再试启动Jetty:mvn jetty:run
3. 锁定Jetty插件版本,适配老JDK
JDK 1.8.0_171算是比较老的版本了,新版Jetty插件可能兼容性不好,建议在pom.xml里指定一个稳定兼容的Jetty版本,比如9.4.x系列:
<plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <!-- 选一个和JDK8兼容的稳定版本 --> <version>9.4.51.v20230217</version> <configuration> <!-- 保留你原来的配置 --> </configuration> </plugin>
4. 重置Eclipse的Jetty运行配置
有时候Eclipse的运行配置会抽风,没正确读取Maven环境,删了重建试试:
- 右键你的项目 → Run As → Maven build...
- Goals里填
jetty:run,注意JRE选项一定要选JDK 1.8.0_171,别选成JRE了 - 切换到
Environment标签页,加个MAVEN_OPTS环境变量,值设成-Xmx1024m,避免内存不足导致的注入错误
5. 检查Windows的文件权限
Windows的权限坑也不少,确保你的项目目录和Maven本地仓库(默认是C:\Users\<你的用户名>\.m2\repository)有读写权限:
- 右键项目文件夹 → 属性 → 安全 → 确认你的用户账号有完全控制权限
- 如果Maven仓库权限有问题,直接删掉
.m2\repository下org\eclipse\jetty相关的文件夹,然后重新跑mvn install拉取依赖
要是这些步骤都试过还不行,把完整的错误栈信息贴出来,我再帮你揪问题~
内容的提问来源于stack exchange,提问作者John Friday
相关产品推荐
相关产品推荐

