Вопрос:
Я использую 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.
Вы столкнулись с подобными проблемами?
Любая помощь, пожалуйста?:)
Лучший ответ:
Вам нужно скомпилировать ваш 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), я предполагаю, что вы уже это сделали.
Ответ №1
У меня была такая же проблема: “Не удалось загрузить widgetset:”, и это произошло, когда я попытался запустить демонстрационное приложение Vernotologist, извлекая из svn. Чтобы решить эту проблему:
- Откройте файл gwt.xml и убедитесь, что он выбран в проводнике проекта в eclipse
- Убедитесь, что установлен ваш Vaadin в плагине eclipse.
- Найдите кнопку Compile Widgetset на панели инструментов Eclipse, которая входит в состав плагина vaadin и выглядит как механизм. Нажмите
- Шаг 3 скомпилирует набор виджета для вас
- Перезагрузите сервер и запустите приложение
Источник:
16.2.2. Компиляция набора виджетов
из книги Ваадина по этой ссылке: https://vaadin.com/book/-/page/gwt.eclipse.html
Ответ №2
Это старый поток, но в более поздних версиях 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 перед компиляцией выше.
Ответ №3
У меня была та же проблема “не удалось загрузить widgetset.nocache.js”, но я решил ее, переустановив плагин “vaadin”
шаги: 1) help → eclipse market place → search vaadin → (если он уже установлен) удалите его и снова установите, нажав кнопку “install” 2) перекомпилируйте проект и запустите его