2013-03-21 109 views
0

我正在使用添加名爲ICEPush將數據異步推送到客戶端。順便說一句,我使用vaadin 7.當過我打開網頁,它拋出我下面的錯誤使用Ant編譯Vaadin插件

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. 

我使用螞蟻作爲我的構建腳本。你可以幫助我編譯插件嗎?

謝謝。

回答

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 - 在編譯的源代碼放在網頁目錄的根,在Eclipse這將是WebContent目錄
sources - 引用您的源目錄
workdir - 暫時放置處理文件的臨時目錄

0

我想你需要調試這個問題。你對widgetset編譯有多熟悉? 您是否正確設置了AppWidgetSet.gwt.xml?你是否清除了src目錄下的所有以前的widgetset中間工件? (這導致了我過去的痛苦,特別是從Vaadin 6移動到了7時。我有一個特定的maven乾淨目標,我在移動Vaadin版本時取消註釋,以便刪除/src/main/webapp/VAADIN/widgetsets/src/main/webapp/VAADIN/gwt-unitCache目錄,否則它會贏得't完全重新編譯widgetset。)

最後,你是否運行Ant-specific命令來重新編譯Vaadin widgetset?

我不喜歡用這種類型的答案來回答,但是您有使用Ant的具體原因嗎?如果沒有,您可以使用在使用以下指令生成Vaadin 7項目時創建的maven pom:from the 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,你會沒事的。

+0

我運行Ant特定的命令來編譯小部件,我相信有一些配置丟失,我現在正在調試該問題。嗯,我們有我們的產品在螞蟻上,所以沒有逃脫。 – Patton 2013-03-23 12:52:10