0

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を使用しています。アドオンをコンパイルする手順を教えてくれる人がいますか?

ありがとう。

4

2 に答える 2

0

問題をデバッグする必要があると思います。ウィジェットセットのコンパイルにどの程度精通していますか?AppWidgetSet.gwt.xmlを正しく設定しましたか?以前のウィジェットセットの中間アーティファクトをすべてsrcディレクトリから削除しましたか?

(これは、特にVaadin 6から7に移動するときに、過去に苦痛を引き起こしました。Vaadinバージョンを移動して/src/main/webapp/VAADIN/widgetsets/src/main/webapp/VAADIN/gwt-unitCacheディレクトリを削除するときにコメントを外すという特定のMavenクリーン目標があります。そうしないと、ウィジェットセットが完全に再コンパイルされません。 。)

最後に、Ant固有のコマンドを実行してVaadinウィジェットセットを再コンパイルしましたか?

この種の答えは嫌いですが、Antを使用している特別な理由はありますか?そうでない場合は、次の手順を使用してVaadin7プロジェクトを生成するときに作成されるMavenpomを使用できます:wikiから

次のプラグインコマンドを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そしてあなたは大丈夫でしょう。

于 2013-03-22T16:50:27.397 に答える
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-コンパイルする必要のあるウィジェットセット-次のようになります-com.vaadin.mywidgetset
webrootコンパイルされたソースが配置されるWebディレクトリのルート、EclipseではWebContentディレクトリ
sourcesになります-ソースディレクトリへの参照
workdir-処理されたファイルを一時的に配置するための一時ディレクトリ

于 2014-12-03T09:49:27.127 に答える