如何强制在Vaadin中编译widgetset?

use*_*699 0 eclipse add-on vaadin sparklines

我试图在我的应用程序中使用sparklines add.但是,eclipse系统地拒绝编译相应的widgetset,即如果我inherit在我的widgetset中指定引用sparklines widgetset的标记,如下所示:

<inherits name="org.vaadin.artur.icepush.IcepushaddonWidgetset" />
<inherits name="org.vaadin.hezamu.googlemapwidget.widgetset.GooglemapwidgetWidgetset" />
<inherits name="org.vaadin.sparklines.SparklinesWidgetset" />
<inherits name="com.fluxtream.widgets.FluxtreamwidgetsWidgetset" />
Run Code Online (Sandbox Code Playgroud)

... eclipse抱怨以下错误:

Loading inherited module 'com.fluxtream.widgets.FluxtreamwidgetsWidgetset'
   Loading inherited module 'com.fluxtream.dashboard.widgetset.FlxDashboardWidgetset'
      Loading inherited module 'org.vaadin.sparklines.SparklinesWidgetset'
         [ERROR] Unable to find 'org/vaadin/sparklines/SparklinesWidgetset.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?
      [ERROR] Line 26: Unexpected exception while processing element 'inherits'
Run Code Online (Sandbox Code Playgroud)

但是,我已经验证了widgetset确实在我的项目的pom中被声明为依赖项,并且我还验证它出现在eclipse IDE中的"Maven Dependencies"库图标下.

此外,每当我尝试重新编译我的widgetset时,并且在显示上述错误之后,我可以看到我的原始widgetset.gwt.xml文件已被修改,因此看起来如下所示:

<inherits name="org.vaadin.artur.icepush.IcepushaddonWidgetset" />
<inherits name="org.vaadin.hezamu.googlemapwidget.widgetset.GooglemapwidgetWidgetset" />

<inherits name="com.fluxtream.widgets.FluxtreamwidgetsWidgetset" />


<inherits name="com.fluxtream.dashboard.widgetset.FlxDashboardWidgetset" />
Run Code Online (Sandbox Code Playgroud)

我真的很困惑,因为我不明白我做错了什么.我正在使用其他附加组件,它们工作正常(icepush和googlemap),我真的不明白我在这里做错了什么.

eeq*_*eeq 6

Vaadin Eclipse插件管理你的gwt.xml,这就是为什么你在类路径中添加/删除附加组件时会修改它的原因.基本上这意味着如果在Eclipse中工作,则不必手动修改gwt.xml.此外,Eclipse插件对maven(或pom文件)一无所知,其中的任何信息都不会影响它.

您可以通过两种方式编译widgetset.首先使用Eclipse插件(工具栏上的按钮)或maven.这听起来你正在混合那些.

最简单的设置是将所有附加jar放到WEB-INF/lib中,并使用eclipse插件编译widgetset.gwt.xml应该自动更新,但有时需要刷新(或jar删除/添加过程)才能让插件通知发生变化.

此外,检查项目首选项中的Vaadin设置是否符合您的要求.