我是Vaadin的新手,我正在尝试用这项技术进行一些测试。 我在Eclipse下使用Tomcat 7 Server将我的项目设置为Maven项目。
起初我开始使用Vaadin 7.0.0,一切正常。现在我将版本从7.0.0更改为7.1.0,因为我喜欢测试推送功能。 使用Vaadin 7.0.0一切正常,但由于我更改了版本,我得到了错误:
Requested resource [/VAADIN/widgetsets/com.vaadin.DefaultWidgetSet /com.vaadin.DefaultWidgetSet.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.
我读过DefaultWidget是由Vaadin创建的,但我怎么能这样做?
答案 0 :(得分:1)
除非您向Vaadin项目添加新的客户端组件,否则您无需编译WidgetSet。但是,Vaadin的默认配置假定您有一个。要解决此错误,只需删除<init-param>
中widgetset
的{{1}}标记。
web.xml
或者,您可以在同一个包中创建一个<servlet>
<servlet-name>Your-SERVLET-NAME</servlet-name>
<servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
<init-param>
<param-name>UI</param-name>
<param-value>com.example.MyUI</param-value>
</init-param>
<init-param>
<param-name>widgetset</param-name>
<param-value>another.path</param-value>
</init-param>
</servlet>
文件(例如.xml
)作为您的UI类,并在MyWSet.xml
中引用它。
web.xml
包中的 MyWSet.xml
:
com.example
右<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module>
<inherits name="com.vaadin.DefaultWidgetSet" />
</module>
:
web.xml
请注意,<servlet>
<servlet-name>Your-SERVLET-NAME</servlet-name>
<servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
<init-param>
<param-name>UI</param-name>
<param-value>com.example.MyUI</param-value>
</init-param>
<init-param>
<param-name>widgetset</param-name>
<param-value>com.example.MyWSet</param-value>
</init-param>
</servlet>
中不需要.xml
后缀。最后,运行web.xml
来编译此widgetset。
答案 1 :(得分:0)
如https://vaadin.com/forum/thread/2485026/2496683
中所述,添加vaadin-client编译为我工作<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-client-compiled</artifactId>
</dependency>