Vaadin Maven编译错误(ComponentUtil.addListener))

Vaadin Maven编译错误(ComponentUtil.addListener)),vaadin,vaadin-flow,Vaadin,Vaadin Flow,不幸的是,无法为我的Vaadin应用程序执行maven安装。我在Eclipse中没有错误。也可以通过Eclipse运行应用程序。但是maven安装总是在以下错误中运行: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project lunchlist: Compilation failure: Compilation

不幸的是,无法为我的Vaadin应用程序执行maven安装。我在Eclipse中没有错误。也可以通过Eclipse运行应用程序。但是maven安装总是在以下错误中运行:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project lunchlist: Compilation failure: Compilation failure: 
[ERROR] /C:/Users/thomas/workspace/test/src/main/java/TestView.java:[214,42] incompatible types: cannot infer type-variable(s) T
[ERROR]     (argument mismatch; cannot infer functional interface descriptor for com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.ClickEvent>)
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
有人有主意吗?提前感谢!:)

致以最良好的祝愿,
Thomas

您可以通过为您的侦听器添加一个向上播放的
ComponentEventListener
来解决这个问题:

ComponentUtil.addListener(label, ClickEvent.class, 
    (ComponentEventListener)  e -> Notification.show("Clicked"));

您可以通过向侦听器的
ComponentEventListener
添加一个向上广播来解决这个问题:

ComponentUtil.addListener(label, ClickEvent.class, 
    (ComponentEventListener)  e -> Notification.show("Clicked"));

maven命令是否使用与eclipse相同的java版本来编译应用程序的源代码?您好!我不确定。如何识别/更改maven的java版本(在Eclipse中)?我在Eclipse中通过右键单击执行maven命令。在这方面,ThomasI可以在IntelliJ中复制它,因为它在类中没有显示错误,但是运行、构建或
mvn安装
会显示错误。使用OpenJDK 11.0.11和1.8.0_265进行了尝试。您可以看到Maven与
mvn-version
一起使用的版本,应该是
JAVA_HOME
环境变量所指向的版本。Apache Maven 3.6.3(CECEEDD34302696D0ABB50B32B541B8A6BA2883F)JAVA版本:15.0.2,供应商:Oracle公司,运行时:C:\Program Files\JAVA\jdk-15.0.2默认区域设置:de,平台编码:UTF-8操作系统名称:“windows 10”,版本:“10.0”,arch:“amd64”,系列:“windows”与java版本相同,用于在eclipse中编译源代码maven命令使用与eclipse相同的java版本编译应用程序的源代码?您好!我不确定。如何识别/更改maven的java版本(在Eclipse中)?我在Eclipse中通过右键单击执行maven命令。在这方面,ThomasI可以在IntelliJ中复制它,因为它在类中没有显示错误,但是运行、构建或
mvn安装
会显示错误。使用OpenJDK 11.0.11和1.8.0_265进行了尝试。您可以看到Maven与
mvn-version
一起使用的版本,应该是
JAVA_HOME
环境变量所指向的版本。Apache Maven 3.6.3(CECEEDD34302696D0ABB50B32B541B8A6BA2883F)JAVA版本:15.0.2,供应商:Oracle公司,运行时:C:\Program Files\JAVA\jdk-15.0.2默认区域设置:de,平台编码:UTF-8操作系统名称:“windows 10”,版本:“10.0”,arch:“amd64”,系列:“windows”与java版本相同,用于在Eclipse中编译源代码,但这并不能解决错误。仍然是相同的消息…您只是添加了
(ComponentEventListener)
,而不是例如
(ComponentEventListener)
?对我来说,这解决了这个问题,用三种不同的JDK进行了测试。是的,但我会得到一点其他消息:
[214,94]类型参数com.vaadin.flow.component.ClickEvent不在类型变量T的范围内,它以这种方式工作。。。。谢谢你的帮助!ComponentUtil.addListener(imprint,ClickEvent.class,new ComponentEventListener(){public void onComponentEvent(ComponentEvent事件){xxxx}});不幸的是,这并不能解决错误。仍然是相同的消息…您只是添加了
(ComponentEventListener)
,而不是例如
(ComponentEventListener)
?对我来说,这解决了这个问题,用三种不同的JDK进行了测试。是的,但我会得到一点其他消息:
[214,94]类型参数com.vaadin.flow.component.ClickEvent不在类型变量T的范围内,它以这种方式工作。。。。谢谢你的帮助!ComponentUtil.addListener(imprint,ClickEvent.class,new ComponentEventListener(){public void onComponentEvent(ComponentEvent事件){xxxx}});