Cuando desplegamos una aplicación con Vaadin 7, la cuál la hemos compilado con mvn, (mvn clean install) , podemos encontrarnos que al cargar en el navegador se nos abra un alert, ventana emergente con el error:

Failed to load the widgetset: ./VAADIN/widgetsets/AppWidgetset/AppWidgetset.nocache.js?

y en la consola se podrá ver más detalle del error.

com.vaadin.server.VaadinServlet serveStaticResourcesInVAADIN
INFO: Requested resource [/VAADIN/widgetsets/com.mypackage.client.ui.AppWidgetSe
t/com.mypackage.client.ui.AppWidgetSet.nocache.js] not found from filesystem or
through class loader. Add widgetset and/or theme JAR to your classpath or add fi
les to WebContent/VAADIN folder.

Vaadin utiliza GWT para compilar código Java y convertilo en javascript. El resultado final de esta compilación son los llamados widgetset, además de todo código autogenerado. El error que se muestra es debido a que la aplicación debe usar widgetset personalizado que se encuentra en com.mypackage.client.ui.AppWidgetSet en lugar del predeterminado incluido con Vaadin 7.

Para solventarlo deberemos tener en el pom.xml de nuestro proyecto la siguiente dependencia.

<dependency>
  <groupId>com.vaadin</groupId>
  <artifactId>vaadin-client-compiled</artifactId>
  <version>${vaadin7.version}</version>
  <!--<scope>provided</scope>-->
</dependency>
  • Eliminar este fragmento de código del archivo web.xml. Sin él, Vaadin utilizará el widgetset predeterminado que encuentra dentro de los frascos de Vaadin.

    <Init-param>
    <Param-name> widgetset </ param-name>
    <Param-value> com.mypackage.client.ui.AppWidgetSet </ param-value>
    </ Init-param>
    
  • Compilar el widgetset, en nuestro proyecto, añadiendo el goal vaadin:update-widgetset a maven, es decir:

    mvn vaadin:update-widgetset install
    
Copyright © 2016 runando