我正在使用名为ICEPush的add来将数据Async推送到客户端。 BTW我正在使用vaadin 7.当我打开页面时它会抛出以下错误
Widgetset does not contain implementation for org.vaadin.artur.icepush.ICEPush. 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.
我使用ant作为构建脚本。你能帮助我编写一下编译插件的步骤吗?
感谢。
答案 0 :(得分:0)
我想你需要调试问题。你对widgetset编译有多熟悉? 您是否正确设置了AppWidgetSet.gwt.xml?您是否从src目录中清除了所有以前的widgetset中间工件?
(这在过去引起了我的痛苦,特别是从Vaadin 6转到7时。我有一个特定的maven清洁目标,我在移动Vaadin版本时取消注释,以便删除/src/main/webapp/VAADIN/widgetsets
和{{1目录。否则它不会完全重新编译widgetset。)
最后,您是否运行了特定于Ant的命令来重新编译Vaadin小部件集?
我讨厌回答这种类型的答案,但是你有使用Ant的具体原因吗?如果没有,您可以使用在使用以下说明生成Vaadin 7项目时创建的maven pom:from the wiki。
将以下插件命令添加到pom.xml:
/src/main/webapp/VAADIN/gwt-unitCache
然后运行:<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<filesets>
<fileset>
<directory>${basedir}/src/main/webapp/VAADIN/widgetsets</directory>
<directory>${basedir}/src/main/webapp/VAADIN/gwt-unitCache</directory>
</fileset>
</filesets>
</configuration>
</plugin>
你会没事的。
答案 1 :(得分:0)
它相当长,但从那时起就更好了。
我创建了一个依赖于我的资源的新任务。
<target name="build-widgetset" if="widgetset">
<java classname="com.google.gwt.dev.Compiler" failonerror="yes"
fork="yes">
<arg value="-war" />
<arg value="${webroot}/VAADIN/widgetsets" />
<arg value="${widgetset}" />
<arg value="-logLevel" />
<arg value="DEBUG" />
<arg value="-strict" />
<jvmarg value="-Xmx1024M" />
<jvmarg value="-Djava.awt.headless=true" />
<classpath>
<pathelement path="${sources}" />
<pathelement path="${workdir}" />
<path refid="classpath" />
</classpath>
<sysproperty key="vFailIfNotSerializable" value="true" />
</java>
<!-- cleanup -->
<delete dir="${webroot}/VAADIN/gwt-unitCache" />
<delete dir="${webroot}/VAADIN/widgetsets/WEB-INF" />
</target>
Classpath
- 所有Vaadin图书馆的类路径
widgetset
- 需要编译的Widgetset - 类似于com.vaadin.mywidgetset
webroot
- 放置编译源的Web目录的根目录,在Eclipse中它将是WebContent
目录
sources
- 对您的源目录的引用
workdir
- 暂时放置已处理文件的临时目录