Vaadin: не удалось загрузить widgetset.nocache.js

Я использую Vaadin 6.8.2 и Maven для разработки приложения.

Я попытался добавить дополнение к календарю (1.3.0 - версия для Vaadin 6) в свой проект, выполнив шаг за шагом учебник по этой ссылке: https://vaadin.com/book/vaadin6/-/page/addons.maven.html

Однако, когда я пытаюсь загрузить мое приложение в браузере, я получаю следующую ошибку:

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

Если я посмотрю в консоли, я вижу следующее:

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.

Вы столкнулись с подобными проблемами? Любая помощь, пожалуйста?:)

Ответы

Ответ 1

Вам нужно скомпилировать ваш widgetset. Чтобы включить его, вам нужно что-то подобное в вашем 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>

Когда вы на месте, перекомпилируйте приложение. Вы должны увидеть нечто похожее на то, что описано в главе 15.5.3, после ссылки, которую вы указали. Для компиляции виджета требуется некоторое время, поэтому он не может остаться незамеченным.

Вам также нужен файл ProjectWidgetSet.gwt.xml и ссылка на него в web.xml, но поскольку сообщение об ошибке, которое вы уже упоминаете ProjectWidgetSet (в отличие от DefaultWidgetset), я предполагаю, что вы уже это сделали.

Ответ 2

У меня была такая же проблема: "Не удалось загрузить widgetset:", и это произошло, когда я попытался запустить демонстрационное приложение Vernotologist, извлекая из svn. Чтобы решить эту проблему:

  • Откройте файл gwt.xml и убедитесь, что он выбран в проводнике проекта в eclipse
  • Убедитесь, что установлен ваш Vaadin в плагине eclipse.
  • Найдите кнопку Compile Widgetset на панели инструментов Eclipse, которая входит в состав плагина vaadin и выглядит как механизм. Нажмите
  • Шаг 3 скомпилирует набор виджета для вас
  • Перезагрузите сервер и запустите приложение

Источник: 16.2.2. Компиляция набора виджетов из книги Ваадина по этой ссылке: https://vaadin.com/book/-/page/gwt.eclipse.html

Ответ 3

Это старый поток, но в более поздних версиях Vaadin (7.x.x) решение совсем другое. Плагин GWT не нужен:

<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>

Кроме того, убедитесь, что ваш ProjectWidgetSet.gwt.xml находится внутри ресурсов /my/company/folder перед компиляцией выше.

Ответ 4

У меня была та же проблема "не удалось загрузить widgetset.nocache.js", но я решил ее, переустановив плагин "vaadin"

шаги: 1) help → eclipse market place → search vaadin → (если он уже установлен) удалите его и снова установите, нажав кнопку "install" 2) перекомпилируйте проект и запустите его