2013-07-15 38 views
0

我是Vaadin的新手,我正在尝试使用此技术进行一些测试。 我使用Tomcat 7服务器将我的项目设置为Eclipse下的Maven项目。Vaadin 7.1.0 - DefaultWidgetSet无法找到

起初我从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创建我读过,但我怎么能做到这一点?

回答

1

除非将新的客户端组件添加到Vaadin项目中,否则不需要编译WidgetSet。但是,Vaadin的默认配置假定您有一个。要通过此错误,只需在您的web.xml中删除widgetset<init-param>标记。

<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文件在同一封装(例如MyWSet.xml)为您的UI类,并在web.xml引用它。

com.exampleMyWSet.xml

<?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。最后,运行mvn vaadin:compile来编译这个组件集。