我已经尝试让它工作 4 个小时了 - 问题是 Vaadin 在我实现它的方式时向我显示了一个错误:
Widgetset com.vaadin.DefaultWidgetSet' does not contain implementation for org.vaadin.peter.contextmenu.ContextMenu. Check its component connector's @Connect mapping, widgetsets GWT module description file and re-compile your widgetset. In case you have downloaded a vaadin add-on package, you might want to refer to add-on instructions.
我已经尝试重新编译它 - 编译时没有错误。 我使用 Vaadin 7 和 Addon 版本 4.4.0
有什么建议吗?
最佳答案
如果您使用 vaadin-archetype-application 来创建项目,则 pom.xml 包含编译小部件集所需的所有声明。小部件集编译发生在标准 Maven 构建阶段,例如使用包或安装目标。
$ mvn package
除非必要,Maven 的 Vaadin 插件会尝试避免重新编译小部件集,这有时意味着即使应该编译它也不会被编译。运行 clean 目标通常会有所帮助,但会导致完全重新编译。您可以通过运行 vaadin:compile 目标来手动编译小部件集。
$ mvn vaadin:compile
请注意,这不会通过从类路径搜索新的小部件集来更新项目小部件集。例如,如果您添加或删除附加组件,则必须更新它。您可以通过在项目目录中运行 vaadin:update-widgetset 目标来完成此操作。
$ mvn vaadin:update-widgetset
不要介意“错误”标签,
它们只是 Vaadin Maven 插件的问题。 运行更新后,您需要运行 vaadin:compile 目标来实际编译小部件集。
在 UI 中启用小部件集 如果您之前在项目中使用过默认小部件集,则需要在 web.xml 部署描述符中启用项目小部件集。编辑 src/main/webapp/WEB-INF/web.xml 文件,添加或修改 servlet 的 widgetset 参数,如下
<servlet>
...
<init-param>
<description>Context Menue</description>
<param-name>contextMenue</param-name>
<param-value>org.vaadin.peter.contextmenu.ContextmenuWidgetset</param-value>
</init-param>
</servlet>
关于java - Vaadin 上下文菜单附加错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25426505/