Spring 引导多模块项目中的 Vaadin 问题

Vaadin problem in Spring Boot multi module project

我编写了一个示例 spring 引导项目 运行 Vaadin(最新版本)。我只有一个观点:

@Route
public class MainView extends VerticalLayout {

UI 工作得很好,然后我不得不在模块中重构项目。 我将 SpringBootApplication 放在一个模块中,将 Vaadin 放在另一个模块中。我正在进入模块,所以我不知道它们是如何交互的,但我必须将引导 pom 中的依赖项放到 vaadin pom 中才能让它启动。 现在它不起作用,当我调用 localhost 时它说

Could not navigate to ''

Reason: Couldn't find route for ''

Available routes:

This detailed message is only shown when running in development mode.

spring 引导应用程序:

@SpringBootApplication
@ComponentScan(basePackages = {"my.app"})
@EntityScan(basePackages = {"my.app"})
@EnableJpaRepositories(basePackages = {"my.app"})
@EnableJpaAuditing
public class LicensemanagerApplication 

引导模块pom.xml依赖片段:

<dependency>
     <groupId>${project.groupId}</groupId>
      <artifactId>app_frontend</artifactId>
      <version>${project.version}</version>
      <scope>runtime</scope>
</dependency>

app_frontend 模块 pom.xml 依赖片段:

<dependency>
     <groupId>com.vaadin</groupId>
     <artifactId>vaadin-spring-boot-starter</artifactId>
 </dependency>
.............
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-bom</artifactId>
            <version>13.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Vaadin 默认仅在包含 @SpringBootApplication 注释的同一包中查找 @Route 注释的 类。要让它在其他包中显示,您需要将它们作为值传递给 @EnableVaadin 注释,例如@EnableVaadin({"my.app"}).