如何使用新版本1.1.3 Vaadin Plug-in For NetBeans 中为新项目创建的新的多个项目

How to use the new multiple projects created for a new project in new version 1.1.3 Vaadin Plug-in For NetBeans

Vaadin Plug-in For NetBeans 的最新版本 1.1.3 在创建新的 Vaadin 应用程序项目时具有显着的新行为。以前,该插件在单个文件夹中创建单个项目,非常简单。现在新插件创建了多个文件夹,显然每个文件夹都是独立的项目。

这是功能还是错误?有什么文件吗?

这些多个文件夹是什么?单独的项目或某种相关的模块?

如何使用它们?我的应用程序代码放在哪里?如何运行或调试我的应用程序?

我每次开始工作时都需要在 NetBeans 中打开所有这些项目吗?还是一个项目是老大而包含其他项目?

他们的目的是什么?为什么要改变以前的简单方法?

如果我要开始使用 Mercurial 或其他一些版本控制系统,我需要包括什么?

此更改是来自插件还是来自新的底层 Maven 脚本?如果我放弃 NetNeans 并使用 IntelliJ 或 Eclipse,我会避免这种混乱吗?

这是自 7.3.7 以来所有新项目的新 vaadin maven 类型。

在 netbeans 中,您似乎必须先构建 ui 小部件集,然后才能 运行 ui 项目。

You can find the informations about the new project layout here.

我不确定您是否仍需要这方面的帮助,但您可能错过的一件事是出现在新 Vaadin 项目目录中的自述文件。我将尽可能详细地完成整个过程,因为我确定其他人可能有相同的 questions/issues(就像你和我一样)。

特别是自述文件指出:

"该项目由以下三个模块组成:

  • 父项目:公共元数据和配置
  • yourproject-widgetset:小部件集、自定义客户端代码和对小部件附加组件的依赖性
  • yourproject-ui: 主应用模块,开发时间
  • yourproject-production:生成用于部署的生产模式WAR的模块

所以回答你的问题:

1) 正如 Andre 所提到的,这是新的 Vaadin Maven 原型的一个特性。您可能想在 "Multi-module Maven projects"

上进行 quick Google 搜索

2) 文件夹是README中提到的相关模块

3) 在我想象的开发过程中,您可能会在大部分时间处理 ui 模块。但请阅读自述文件的 "Workflow" 部分以更好地了解部署过程。

4) "boss project" 是父模块。打开这个应该也能让你和其他人一起工作。

5) 目的可能是定义描述单独的任务(ui 和 widgetset),我想象得更好。

6) 简而言之,使用 Eclipse 可能会更好 [=7​​3=],但我更喜欢 Netbeans 插件,我认为 Vaadin 开发人员也是如此:https://www.youtube.com/watch?v=3TompuzySD8。顺便说一句,如果您是 Vaadin + Netbeans 的新手,那么这个视频是一个很好的起点。

假设您仍在使用带有 Vaadin 1.1.3 插件的 NetBeans 8.0.2,您需要做的是在创建新项目后,右键单击父(即根)模块和 select Build. 这会编译整个项目,本质上是 运行ning "mvn install" 的 equivalent .然后右击ui模块和selectEmbedded Jetty | 运行(如果您不喜欢使用 Jetty,则只需 运行)。然后只需打开您选择的浏览器并打开 localhost。

请注意,如果您对小部件集进行了更改(即添加附加组件),如果出现 "Failed to load the widgetset" 错误,您可能需要停止并启动服务器(同时确保编译小部件集模块也是第一位的!)。通过 NetBeans Vaadin 插件插件浏览器添加插件只会影响我认为的 ui 模块(Build Widgetset 和 Theme命令),因此您需要确保将必要的 Dependency Maven 代码(在 Vaadin 目录中的附加组件页面上找到)添加到 widgetset 模块下的 pom.xml,然后执行 Build 命令来编译它。否则我认为你会在 运行 时遇到某种 "Check its component connector's @Connect mapping" 错误。

如果您还有问题,请告诉我and/or如果您在处理附加组件时遇到问题。