【问题标题】:vaadin 7: Widgetset does not contain implementationvaadin 7:小部件集不包含实现
【发布时间】:2013-05-22 23:08:13
【问题描述】:

我正在尝试使用 vaadin,并希望在我的 vaading 7 项目中使用甘特聊天插件。 https://vaadin.com/directory#addon/vaadin-gantt-diagram:vaadin

由于这与 vaadin 7 不兼容,我正在尝试修复插件中的一些代码以使其与 vaadin 7 兼容。

我从存储库中查看了 vaadin-6.8 的源代码,并从可用下载中查看了 vaadin-gantt(附加组件)。

我在 vaadin-6.8 中稍微更改了代码并进行了构建。我在 vaadin-gantt 附加组件中使用这个定制的 vaadin-6.8 jar。现在我可以使用定制的 vaadin-6.8 jar 来构建 vaadin-gantt 插件。我想在 vaadin-7 项目中使用这个插件。

编译通过,但在显示甘特图时,我在控制台上收到以下消息

"Widgetset 不包含 ru.bazon.vaadin.ganttdiagram.canvas.GanttDiagramCanvas 的实现。检查其组件连接器的 @Connect 映射、widgetsets GWT 模块描述文件并重新编译您的 widgetset。如果您已下载vaadin 附加包,您可能需要参考附加说明。”

我使用 eclipse 插件编译了甘特图小部件集,并且可以在我的项目 *.gwt.xml 文件中看到以下条目

我想为 vaadin-7 使用甘特图插件。除了与 vaadin 7 不兼容的插件之外,我没有找到任何其他适用于 vaadin-7 的插件。

任何指针?

问候, 阿扎尔

【问题讨论】:

  • 您必须为 Vaadin 7 转换插件,您使用自定义 Vaadin 6.8 的方法将不起作用。
  • 同意亨利。 Widgetset 从 6.8.8 到 Vaadin 7 发生了很多变化。变化包括共享状态、客户端和服务器 RPC 的使用

标签: vaadin


【解决方案1】:

请确保您已在主 UI 类中添加 @Widgetset("path of *.gwt.xml")。我已通过添加此解决方案

【讨论】:

  • 找到包含“.gwt.xml”文件的包(例如:“com.mycompany.ui.AppWidgetSet.gwt.xml”),然后将类名添加到注释中减去'。 gwt.xml" ex: @Widgetset("com.mycompany.ui.AppWidgetSet") 然后确保你也进行 Vaadin 编译。
【解决方案2】:

我也遇到了这个错误,这是由于插件 jar 中缺少源文件造成的。 .java 和 .class 文件都必须存在于插件 jar 文件中,因为 GWT 从源代码编译。但最有可能的插件形式 vaadin 目录也应该包括源代码。当然不要忘记在将插件导入项目后编译小部件集和主题。

【讨论】:

  • 我已经搜索了两天以上的错误。对于所有使用 gradle 的人:将以下内容添加到“jar”任务中,以将 Java 源文件与类文件一起放入 jar 文件中:from sourceSets.main.allSource
【解决方案3】:

把这个留在这里,以防有人和我有同样的情况。我们的项目在 Vaadin 8 中,我们已经在 UI-extending 类中添加了 @Widgetset("com.company.OurWidgetSet") 作为注解。

但是,在访问分离组件的弹出窗口时,我仍然收到与 OP 相同的错误。尽管我们过去曾尝试将我们的这个组件迁移到 Vaadin 8,但由于没有时间正确执行此操作,它仍然主要使用 Vaadin7 导入和功能。

因此,我必须将以下内容添加到我们主项目的OurWidgetSet.gwt.xml 文件(在<module>-tag 中),以修复所用组件的功能:

<inherits name="com.vaadin.v7.Vaadin7WidgetSet" />

【讨论】:

    【解决方案4】:

    也遇到了同样的问题,要确保您是否使用 vaadin 的另一件事是部署资源的 WEB-INF 文件夹中的 web.xml。 确保那里也指定了小部件集:

    <init-param>
    <description>AWidgetSet</description>
    <param-name>widgetset</param-name>
    <param-value>com.example.a.widgetset.AWidgetset</param-value>
    </init-param>
    

    【讨论】:

      【解决方案5】:

      当使用带有注解 @VaadinServletConfiguration 的 Java Config 时,另一个解决方案是将其添加为 Annotation-Parameter widgetset

      @VaadinServletConfiguration(ui = MyUI.class, productionMode = true, heartbeatInterval = 500, closeIdleSessions = true, widgetset = "com.myapp.MyWidgetset")
      

      【讨论】:

        猜你喜欢
        • 2013-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-11
        相关资源
        最近更新 更多