Vaadin 流程 - 在不同的包中查看

Vaadin flow - Having views in a different package

在 vaadin 流中存在一个选项,可以将视图放在不同的包中,而不是作为主 spring 引导 class 所在的子包?例如

com.xyz.vaadin.app --> Spring Boot Main
com.xyz.vaadin.config
com.xyz.vaadin.views  --> Main view

我已经尝试使用“@SpringBootApplication scanBasePackages”或“scanBasePackageClasses”并传递了主视图包或主视图class但是在启动应用程序后它没有找到视图。错误“找不到路由”

您可以在 Spring 应用程序 class 上添加 @EnableVaadin 注释,并提供包名称。所以在你的例子中它将是

@SpringBootApplication
@EnableVaadin(value = "com.xyz.vaadin.views")
public class MainClass {

    public static void main(String[] args) {
        SpringApplication.run(MainClass.class, args);
    }
}

当您使用 views/component 实例化未使用“@Route”注释的“RouterLink”时,可能会触发此问题。即使您实际上没有尝试访问此特定视图,它也会发生。