使用Ant编译Vaadin插件



我正在使用添加名为ICEPush的异步数据推送到客户端。顺便说一句,我用的是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作为我的构建脚本。你能有人帮我编译插件的步骤吗?

谢谢。

我想你需要调试这个问题。你对widgets set编译有多熟悉?您是否正确设置了AppWidgetSet.gwt.xml ?您是否从src目录中清除了所有以前的小部件集中间构件?

(这在过去给我带来了痛苦,特别是当从Vaadin 6移动到7时。我有一个特定的maven清理目标,在移动Vaadin版本时取消注释,以便它删除/src/main/webapp/VAADIN/widgetsets/src/main/webapp/VAADIN/gwt-unitCache目录。否则它不会完全重新编译这个小部件集。)

最后,您是否运行了特定于ant的命令来重新编译Vaadin小部件集?

我讨厌用这种类型的答案来回答,但是你使用Ant有什么特殊的原因吗?如果没有,您可以使用在生成Vaadin 7项目时创建的maven pom,使用以下说明:

将以下插件命令添加到pom.xml中:

<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>

然后运行:mvn clean vaadin:clean package,你会没事的

很长,但迟做总比不做好。

我创建了一个新任务,它依赖于我的源代码。

<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—需要编译的widget集—类似于com.vaadin.mywidgetset
webroot - web目录的根目录,在Eclipse中,它将是WebContent目录
sources -对源目录的引用
workdir -临时目录,用于临时放置处理过的文件

相关内容

  • 没有找到相关文章