2016-12-15 74 views
0

Eclipse的霓虹燈不同,Vaadin版本7.3.6。 Java 1.8。Vaadin - QR碼:視窗元件 'com.vaadin.DefaultWidgetSet' 不包含實現

我想在頁面上顯示QR碼,由Vaadin創建。所以,我在pom.xml中

<dependency> 
     <groupId>org.vaadin.addons</groupId> 
     <artifactId>qrcode</artifactId> 
     <version>2.0.1</version> 
    </dependency> 

添加依賴在我Vaadin代碼我用這個:

QRCode code = new QRCode(); 
    code.setValue("The quick brown fox jumps over the lazy dog"); 
    code.setWidth("400px"); 
    code.setHeight("400px"); 
    addComponent(code); 

它的編譯和運行成功。但是當我嘗試使用QR碼加載html頁面時,出現下一個錯誤:

Widgetset'com.vaadin.DefaultWidgetSet'不包含fi.jasoft.qrcode.QRCode的實現。 檢查其設備連接器的@Connect映射的視覺元件GWT模塊描述文件並重新編譯視窗元件。 如果你已經下載了一個vaadin附加包,你可能需要參考附加說明。

出了什麼問題?謝謝。

+1

您需要編譯自定義WidgetSet來讓這個工作。如果您嘗試使用Vaadin 7.7.6(最新版本),您會發現這更容易。 –

回答

0

您需要重新編譯您的應用程序的widgetset。其實有一個Maven插件。你可以找到詳細說明如何創建這裏& comiple定製wigetset:

https://vaadin.com/directory/help/using-vaadin-add-ons/maven

這是一個有點棘手設置好一切,但一旦做了,這只是有關運行

mvn vaadin:update-widgetset install 

你將不得不添加一些插件到pom.xml爲了使這項工作,如何找到如何添加插件的最佳方式是生成Vaadin應用程序的官方原型,並複製&從那裏粘貼插件信息:

mvn archetype:generate \ 
-DarchetypeGroupId=com.vaadin \ 
-DarchetypeArtifactId=vaadin-archetype-clean \ 
-DarchetypeVersion=LATEST \ 
-DgroupId=your.company \ 
-DartifactId=project-name \ 
-Dversion=1.0 \ 
-Dpackaging=war 

請注意,如果您使用的彈簧引導,然後將沒有web.xml中哪裏定義視窗元件,但實際上你可以從這個論壇遵循信息: https://vaadin.com/forum#!/thread/9587133