所在公司要求使用这个臭屎粑粑一样的Vaadin,我也没办法。为了更好地开展工作,对得起老板发给我的工资,就算是臭屎粑粑,也要尽力给他玩儿出花样来。

Vaadin针对Eclipse和Netbeans等IDE提供了相应的插件,开发人员可以通过插件来快速创建一个基于Vaadin技术框架的项目。只是使用Vaadin插件创建的项目并不是Maven项目结构,如果我们需要Maven项目结构,则还需要自行修改项目结构以及编写pom文件。其实,Vaadin提供了更标准的构建maven结构项目的方法。下面我来给大家演示一下创建步骤。

本文基于:

  • Win10
  • JDK7(jdk1.7.0_79 x64)
  • Maven 3.3.9

准备工作:

  1. 妥当安装JDK,配置JAVA_HOME系统变量,并将其bin目录加入系统全局路径中。本文使用jdk1.7.0_79 64位;
  2. 妥当安装Maven,配置MAVEN_HOME系统变量,并将其bin目录加入系统全局路径中。本文使用maven 3.3.9;

第一步:打开命令行控制台(cmd console),进入你想创建项目的目录

例如,需要在e:\example下创建新的Vaadin空白项目。

第二步:在cmd console中输入如下命令行

 mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=8.0.6 -DgroupId=org.test -DartifactId=vaadin-app -Dversion=1.0-SNAPSHOT

图1

命令说明:

1、如图1中所示,是一条maven命令,archetype:generate这个goal用来通过archetype来生成新的maven结构项目。所参考的archetype的GroupId是“com.vaadin”,所参考的archetype的ArtifactId是“vaadin-archetype-application”。Vaadin有很多用于创建各式各样基于Vaadin技术框架的archetype,具体信息请参考图2

图2

2、图1中标有红色下划线的部分是指定所参考的Vaadin archetype的版本即Vaadin的版本。Vaadin的每个大版本之间还是有很大区别的,所以一定要正确设置这个参数。Vaadin 8.x需要JDK8,由于我只安装了JDK7,所以我需要将图1中标有红色下划线的参数改为7.x(我用的是7.6.8)。

3、图1中标有黄色下划线、蓝色下划线、绿色下划线的部分为我们要创建的空白项目的信息,GroupId、ArtifactId和初始Version。这仅仅是个演示,因此这几项我就不做改动了。

第三步:输入回车,执行mvn命令

当一切执行完毕后,mvn会停在最后一步,让你输入Y进行确认新创建的空白项目相关信息。我们这里输入Y,敲回车,整个创建过程就结束了。

用资源管理器看看我们刚刚创建好的maven项目。

使用Vaadin的maven archetype创建一个空Vaadin项目的更多相关文章

  1. Jersey 2.x 从Maven Archetype 创建一个新项目

    创建 Jersey 工程需要使用 Apache 的 Maven 软件工程和管理工具.所有的Jersey产品模块都可以在 Maven中央库 中找到.这样的话 Jersey 可以非常容易和其他基于 Mav ...

  2. 如何用Maven创建一个普通Java项目

    一下内容包括:用Maven创建一个普通Java项目,并把该项目转成IDEA项目,导入到IDEA,最后把这个项目打包成一个jar文件. 有时候运行mvn命令失败,重复运行几次就OK了,无解(可能因为网络 ...

  3. php 中如何创建一个空对象

    // 创建一个空对象 $obj=(object)array(); //假设这是从数据库取内容 $arr=["prod_id"=>103,"prod_name&quo ...

  4. PHP中怎样创建一个空对象?

    如果没有声明一个对象然后就对其属性赋值会出现警告.那么我们给它创建一个空对象然后赋值就好了.PHP中创建一个空对象代码如下: 第一种方式: $empty_object = new stdClass() ...

  5. 写入数据到Plist文件中时,第一次要创建一个空的数组,否则写入文件失败

    #pragma mark - 保存数据到本地Plist文件中 - (void)saveValidateCountWithDate:(NSString *)date count:(NSString *) ...

  6. 【Android Developers Training】 94. 创建一个空内容提供器(Content Provider)

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  7. 【Android Developers Training】 93. 创建一个空验证器

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  8. Scala IDEA for Eclipse里用maven来创建scala和java项目代码环境(图文详解)

    这篇博客 是在Scala IDEA for Eclipse里手动创建scala代码编写环境. Scala IDE for Eclipse的下载.安装和WordCount的初步使用(本地模式和集群模式) ...

  9. soapui中文操作手册(一)----创建一个新的项目

    1) 创建一个新的项目 点击项目,选择新建项目SOAP.这将打开一个新的SOAP项目对话框. 注意:你也可以做CTRL + N(WIN)或CMD+ N(MAC)来创建一个新的SOAP项目. 在新的SO ...

随机推荐

  1. dubbo序列化hibernate.LazyInitializationException could not initialize proxy - no Session懒加载异常的解决

    dubbo序列化,hibernate.LazyInitializationException could not initialize proxy - no Session懒加载异常的解决 转载声明: ...

  2. 九度oj 1032 ZOJ 2009年浙江大学计算机及软件工程研究生机试真题

    题目1032:ZOJ 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4102 解决:2277 题目描述: 读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当 ...

  3. CentOS6.5安装Mysql数据库

    一.卸载原有mysql    # rpm -e --nodeps mysql 二.安装mysql    # yum install mysql-server mysql mysql-devel 三.查 ...

  4. java java-web linux C C++ 安装系统 数据结构 算法 教程分享

    qq1206630874 v18455730857 免费分享

  5. js验证营业执照号码是否合规

    需求:最近要做实名验证的功能,但是验证我们要验证严谨一点,参考了网上关于营业执照号码规则和一些大侠的代码的代码,总结一下. 营业执照号码规则:规则 代码: //方法一:function checkLi ...

  6. [转]浅谈 .NET Framework 与 .NET Core 的区别与联系

    本文转自:http://www.cnblogs.com/huchaoheng/p/6295688.html 2017到了,咱们学点啥啊,要想知道学点啥,先弄清.NET Framework 与 .NET ...

  7. java——程序的导出与导入

    导出: 选择项目,右击选择 最下面的properties——Resource——Location,就是你的项目所在地, 找到文件所在,拷贝到你的U盘中(或者直接点击项目直接拖到桌面)完成复制 导入: ...

  8. Maven运行时找不到xml文件和properties文件的问题解决

    使用Maven构建的项目,包下面的xml文件和properties属性文件默认在运行tomcat插件是不会生成文件到target里面的,需要自己配置 一.第一种解决方法也是最常用的解决方法 在pom. ...

  9. Google安装postman插件

    1.保证网上商店可用 http://jingyan.baidu.com/article/48a42057ea53a1a9242504c1.html

  10. 关于Sychronized和volatile自己总结的一点点理解(草稿)

    问答形式列举: 1. 为什么说sychronized能保证可见性 synchronized和Lock能保证同一时刻只有一个线程获取锁然后执行同步代码,并且在释放锁之前会将对变量的修改刷新到主存当中.因 ...