使用Ant编译Vaadin插件

时间:2013-03-21 13:14:58

标签: gwt ant vaadin

我正在使用名为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作为构建脚本。你能帮助我编写一下编译插件的步骤吗?

感谢。

2 个答案:

答案 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 - 暂时放置已处理文件的临时目录

相关问题