當我爲我的項目編譯widgetset時,它會從類路徑上的jar中跳過繼承的widgetset。手動將必要的widgetset添加到我的.gwt.xml文件中並沒有幫助,因爲每次我重新編譯widgetset時,構建腳本都會替換文件。Widgetset編譯器無法找到Vaadin插件
具體來說,我接管了一個項目,使用vaadin FilterTable插件(所以我只用了幾個星期的vaadin)。我從github上下載了插件,並做了一些更改(但沒有涉及widgetset/connectors),然後嘗試在我的主項目中使用新版本。將FilteringTable7項目添加到我的部署程序集中將不起作用,因爲該項目包含與某些演示表關聯的主UI類,導致部署了.war而不是.jar。相反,我導出了一個FilteringTable7A.jar文件,並將其包含在部署程序集以及構建路徑庫(classpath,我假設)中。當然,我也從ivy.xml文件中刪除了官方插件。
FilteringTable演示項目根據我的更改構建並正確運行。包含widgetset的.jar文件已成功複製到wtpwebapps/[project]/WEB-INF/lib /中,並在詳細的widgetset編譯器輸出的類路徑中列出。編譯器輸出沒有將其列爲發現視窗元件:
Widgetsets found from classpath:
org.vaadin.hene.popupbutton.widgetset.PopupbuttonWidgetset in jar:file:C:/Users/matt/.ivy2/cache/org.vaadin.addons/popupbutton/jars/popupbutton-2.5.0.jar!/
com.vaadin.DefaultWidgetSet in jar:file:C:/Users/matt/.ivy2/cache/com.vaadin/vaadin-client/jars/vaadin-client-7.1.11.jar!/
com.hra.diams.widgetset.DiamsWidgetset in file://C/Users/matt/Documents/...
所以視窗元件沒有錯誤編譯,當我運行該項目,我得到了臭名昭著的
視窗元件「com.hra.diams。 widgetset.DiamsWidgetset」不包含 實施...
我已閱讀(和先前已由幫助),與此相關的錯誤很多答案,但在這種情況下,問題不指向該servlet正確小部件設置,它將widgetset編譯器指向繼承的widgetset。當我添加
<inherits name="org.tepi.filtertable.gwt.FilterTableWidgetset" />
我DiamsWidgetset.gwt.xml文件並重新編譯widgsetset,編譯器會忽略它,並更改文件回來。
奇怪的是,它上週工作了幾個小時,但是當我刷新一些東西以獲得最新改變時,它停止工作,現在不會再回來。
如何讓編譯器找到插件所需的widgetset?
在此先感謝。
與Vaadin插件的Eclipse 3.7.2 2.2.0.201306261112 發佈到Tomcat V7.0
我在使用Vaadin 7.2時遇到了類似的問題。據我記得,在7.3中已經修復了一個關於widgetset編譯的bug。也許只是嘗試使用最新版本?對我來說,當我升級到最新版本時,我的問題消失了。 – JDC