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

Я использую 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.

вы сталкивались с подобными проблемами? Помогите, пожалуйста. :)

3 ответов


вам нужно скомпилировать 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 по ссылке, которую вы предоставили. Компиляция widgetset занимает некоторое время, поэтому она не может остаться незамеченной.

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


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

  1. Goto ваш gwt.xml-файл и убедитесь, что он выбран в обозревателе проектов в eclipse
  2. убедитесь, что ваш Vaadin в Eclipse плагин установлен
  3. найдите кнопку Compile Widgetset на панели инструментов Eclipse, которая входит в состав плагина vaadin и выглядит как шестерня. Щелчок это
  4. Шаг 3 скомпилирует набор виджетов для вас
  5. перезагрузите сервер и повторно запустите приложение

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


Это старый поток, но в более поздних версиях Vaadin (7.х.х) решение-это совсем другое. Не требуется плагин 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.ГВт.xml находится внутри ресурсы/Мой/компании/