Vaadin 20启动报MojoFailureException前端编译错误(未用@PWA)如何解决
Vaadin Fusion 20版本@PWA注解冲突报错解决方案
这是Vaadin 20.0.7及更早20.x版本的已知自动配置bug,并非你的代码操作问题:该版本框架会在用户未显式配置AppShell时自动注入默认@PWA注解,特殊场景下会触发重复注入判定,对应报错的修复方案如下:
- 方案1(最推荐):升级Vaadin版本
该bug已经在20.0.8及后续的20.x稳定版本修复,直接修改pom.xml中vaadin.version属性值为20.0.8或更高的20.x正式版本,之后执行mvn clean install重新构建即可。 - 方案2:显式声明AppShell配置(适合暂时不能升级版本的场景)
手动新增一个AppShellConfigurator实现类,显式添加@PWA注解覆盖默认配置,示例代码如下:import com.vaadin.flow.component.page.AppShellConfigurator; import com.vaadin.flow.server.PWA; @PWA(name = "你的应用名称", shortName = "应用简称") public class CustomAppShell implements AppShellConfigurator { } - 方案3:禁用PWA自动配置(不需要PWA功能时使用)
在项目的application.properties配置文件中添加如下配置项,关闭框架的PWA自动注入逻辑:vaadin.pwa.enabled=false
如果完成上述操作后仍然报错,可以排查项目引入的第三方Vaadin组件依赖,确认是否有依赖内置了带@PWA注解的AppShell实现类,排除对应传递依赖即可解决。
内容的提问来源于stack exchange,提问作者Nikolay Cherednychenko
相关产品推荐
相关产品推荐

