第一个应用程序使用 vaadin 和 maven

first application using vaadin with maven

我正在尝试 运行 我在 Vaadin 中的第一个应用程序与 Eclipse 中的 Maven。 所以我创建了新的 Maven 项目(原型:vaadin-archetype-application)并且我正在尝试 运行 它使用 Tomcat7。

我得到这个错误:

INFO: Requested resource [/VAADIN/widgetsets/pl.lajtovo.myproj.MyAppWidgetset/pl.app.myproj.MyAppWidgetset.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.

我找到了一个有类似问题的网站 click,但我在生成的文件中没有 "web.xml"。

我做错了什么?

您必须编译您的 widgetset。

试试看 mvn安装 要么 mvn vaadin:compile

在此处查看详细信息:https://vaadin.com/wiki/-/wiki/Main/Creating+a+Maven+project

它抱怨找不到已编译的小部件集。 Vaadin 在其客户端使用 GWT。 GWT 可以用 Java 编写客户端代码,但浏览器不理解 Java,因此必须将 GWT Java 代码编译为 Java 脚本,以便浏览器能够执行它。

要编译项目的widgetset,只需在项目的根目录中输入mvn clean install即可。

如果您不使用任何包含客户端 GWT 代码的插件,也没有在您的项目中使用自己的 GWT 代码,那么您可以只使用标准的预编译 com.vaadin.DefaultWidgetSet。默认小部件集是一个预编译的小部件集,其中包含所有核心 Vaadin 组件。

为了使用 com.vaadin.DefaultWidgetSet(并避免 widgetset 编译),您需要对从 vaadin-archetype-application 原型生成的项目执行以下操作:

  1. 通过从 UI:

    中删除 Widgetset 注释来定义您要使用默认小部件集

    @Widgetset("com.example.MyAppWidgetset") public class MyUI extends UI {

  2. 添加对vaadin-client-compiled的依赖,其中包含已编译的com.vaadin.DefaultWidgetSet.

    <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-client-compiled</artifactId> </dependency>

  3. 从您的项目中删除 MyAppWidgetset.gwt.xml