java - Spring Boot多模块项目中的Vaadin问题
问题描述
我编写了一个使用 Vaadin(最新版本)运行的示例 Spring Boot 项目。我只有一种观点:
@Route
public class MainView extends VerticalLayout {
用户界面就像一个魅力,然后我不得不在模块中重构项目。我将 SpringBootApplication 放在一个模块中,将 Vaadin 放在另一个模块中。我正在进入模块,所以我不知道它们是如何交互的,但我必须将启动 pom 中的依赖项放到 vaadin pom 中才能启动。现在它不起作用,当我调用 localhost 它说
无法导航到“”
原因:找不到''的路线
可用路线:
此详细消息仅在以开发模式运行时显示。
春季启动应用程序:
@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 仅@Route
在包含注释的同一包中查找带注释的类@SpringBootApplication
。要使其在其他包中看起来,您需要将它们作为值传递给@EnableVaadin
注释,例如@EnableVaadin({"my.app"})
.
推荐阅读
- r - 根据R中函数中的第二个变量定义变量的输入
- python - 如何用 keras 定义多维神经网络
- arrays - 给定一个未排序的整数数组,找到不可搜索的数字
- mysql - 如何根据第一次选择的列 id 选择更多行
- sql - Running Totals for the year
- javascript - 如果节点获取请求中有错误,则忽略(或返回)
- typescript - How to recursively Omit key from type
- node.js - 当我在每个 switch 语句中都有 return 时,为什么我的函数是无效的?
- java - How to put additional Information to Arraylist which is used for ListView wirhout showing the additional Information
- scikit-learn - Parameters inside other parameters - using bootstrap aggregation with random forests in ensemble learning