我用 Spring Initializr 創建了一個新專案:
- 專案:Gradle 專案
- 語言:Java
- 春季啟動:2.7.4
- 包裝:罐裝
- 爪哇:8
- 依賴項:Spring Boot Actuator、Spring Data JPA、Spring Web、H2 資料庫、PostgresSQL 驅動程式、Spring 配置處理器
在此之后,我添加了一些代碼以便能夠與 REST API(GET 和 POST)進行互動。我能夠構建、運行和測驗該專案。
下一步是添加 Vaading,所以我做了以下操作:
在源代碼部分下創建了一個新包“views.main”包。
添加了一個 MainView.java 類,其內容如下:
package io.enfuse.demo.fundemo.views.main; import com.vaadin.flow.component.Key; import com.vaadin.flow.component.button.Button; import com.vaadin.flow.component.checkbox.Checkbox; import com.vaadin.flow.component.html.H1; import com.vaadin.flow.component.orderedlayout.HorizontalLayout; import com.vaadin.flow.component.orderedlayout.VerticalLayout; import com.vaadin.flow.component.textfield.TextField; import com.vaadin.flow.router.Route; @Route("") public class MainView { public MainView() { VerticalLayout todosList = new VerticalLayout(); TextField taskField = new TextField(); Button addButton = new Button("Add"); addButton.addClickListener(click -> { Checkbox checkbox = new Checkbox(taskField.getValue()); todosList.add(checkbox); }); addButton.addClickShortcut(Key.ENTER); add( new H1("Vaadin Todo"), todosList, new HorizontalLayout( taskField, addButton ) ); } }- 我還更新了 build.gradle 檔案以包含 Vaadin 專案:
plugins { id 'org.springframework.boot' version '2.7.4' id 'io.spring.dependency-management' version '1.0.14.RELEASE' id 'com.vaadin' version '23.2.1' id 'java' } group = 'io.enfuse.demo' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } ext { set('vaadinVersion', "23.2.1") } dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.vaadin:vaadin-spring-boot-starter' runtimeOnly 'com.h2database:h2' runtimeOnly 'org.postgresql:postgresql' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' testImplementation 'org.springframework.boot:spring-boot-starter-test' } dependencyManagement { imports { mavenBom "com.vaadin:vaadin-bom:${vaadinVersion}" } } tasks.named('test') { useJUnitPlatform() }重啟 IntelliJ
此時,當我去構建時,我收到以下錯誤:
```
C:\Temp\fundemo_v2\fundemo\src\main\java\io\enfuse\demo\fundemo\views\main\MainView.java:24: error: cannot find symbol
add(
^
symbol: method add(H1,VerticalLayout,HorizontalLayout)
location: class MainView
```
我可以查看顯示 Vaadin 包含的依賴項:

究竟缺少什么沒有正確設定?
uj5u.com熱心網友回復:
您的 MainView 沒有擴展 Vaadin 組件,這就是沒有 add 方法的原因。
嘗試這個:
public class MainView extends Div() {
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/509865.html
下一篇:使用GradleKotlinDSL創建TransformerFactory.newInstance().newTransformer()的正確方法
