web-dev-qa-db-fra.com

Vaadin: échec du chargement de widgetset.nocache.js

J'utilise Vaadin 6.8.2 et Maven pour développer une application.

J'ai essayé d'ajouter le module complémentaire Calendar (1.3.0 - la version pour Vaadin 6) à mon projet en suivant pas à pas le tutoriel de ce lien: https://vaadin.com/book/ vaadin6/-/page/addons.maven.html

Cependant, lorsque j'essaie de charger mon application dans le navigateur, j'obtiens l'erreur suivante:

Failed to load the widgetset: /myproject/VAADIN/widgetsets/my.company.ProjectWidgetSet/my.company.ProjectWidgetSet.nocache.js

Si je regarde dans la console, je vois ceci:

INFO: Requested resource [VAADIN/widgetsets/my.company.ProjectWidgetSet/my.company.ProjectWidgetSet.nocache.js] not found from filesystem or through class loader. Add widgetset and/or theme JAR to your classpath or add files to WebContent/VAADIN folder.

Avez-vous rencontré des problèmes similaires? Une aide, s'il vous plaît? :)

17
Marius Manastireanu

Vous devez compiler votre ensemble de widgets. Pour l'activer, vous avez besoin de quelque chose comme ça dans votre pom:

        <!-- vaadin update widgetset step 1: need (re)build? -->
        <plugin>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-maven-plugin</artifactId>
            <version>1.0.2</version>
            <executions>
                <execution>
                    <goals>
                        <goal>update-widgetset</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <!-- vaadin update widgetset part 2: compile -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>2.3.0-1</version>
            <configuration>
                <webappDirectory>src/main/webapp/VAADIN/widgetsets</webappDirectory>
                <extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
                <runTarget>clean</runTarget>
                <hostedWebapp>${project.build.directory}/${project.build.finalName}</hostedWebapp>
                <noServer>true</noServer>
                <port>8080</port>
                <soyc>false</soyc>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>resources</goal>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

Une fois en place, recompilez votre application. Vous devriez voir quelque chose de similaire à ce qui est décrit dans le chapitre 15.5.3 en suivant le lien que vous avez fourni. La compilation de l'ensemble de widgets prend un certain temps, donc elle ne peut pas passer inaperçue.

Vous avez également besoin d'un ProjectWidgetSet.gwt.xml et d'une référence à celui-ci dans web.xml, mais puisque le message d'erreur que vous obtenez mentionne déjà ProjectWidgetSet (par opposition à DefaultWidgetset), je suppose que vous l'avez déjà fait.

14
atmo

J'ai eu le même problème "Échec du chargement de l'ensemble de widgets:" et il est survenu lorsque j'ai essayé d'exécuter l'application de démonstration de vernotologue en récupérant à partir de svn. Pour résoudre ceci:

  1. Allez à votre fichier gwt.xml et assurez-vous qu'il est sélectionné dans l'explorateur de projet dans Eclipse
  2. Assurez-vous que votre plugin Vaadin dans Eclipse est installé
  3. Trouvez le bouton Compile Widgetset dans la barre d'outils Eclipse qui fait partie du plugin vaadin et ressemble à un engrenage. Cliquez dessus
  4. L'étape 3 compilera l'ensemble de widgets pour vous
  5. Redémarrez le serveur et réexécutez votre application

Source: 16.2.2. Compilation de l'ensemble de widgets du livre de Vaadin à ce lien: https://vaadin.com/book/-/page/gwt.Eclipse.html

9
Zeecitizen

Il s'agit d'un ancien thread mais dans les versions plus récentes de Vaadin (7.x.x), la solution est assez différente. Aucun plugin GWT nécessaire:

<plugin>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-maven-plugin</artifactId>
    <configuration>
        <extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
        <webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets</webappDirectory>
        <hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets</hostedWebapp>
        <noServer>true</noServer>
        <draftCompile>false</draftCompile>
        <style>OBF</style>
        <compileReport>true</compileReport>
        <runTarget>http://localhost:8080/</runTarget>
        <widgetsetMode>cdn</widgetsetMode>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>compile-theme</goal>
                <goal>update-widgetset</goal>
                <goal>compile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Assurez-vous également que votre ProjectWidgetSet.gwt.xml est dans le dossier resources/my/company / avant de compiler ce qui précède.

3
GiovanyMoreno