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"})
.
我编写了一个示例 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"})
.