所在公司要求使用这个臭屎粑粑一样的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. linux mint 18.1 安装nvidia显卡驱动

    原文地址 http://www.gamersonlinux.com/forum/threads/updating-nvidia-drivers-mint.1746/ 主要步骤很简答 就是将ppa仓库地 ...

  2. Ldap用户登陆操作系统提示Permission denied, please try again.

    昨天一个同事he告诉我他的ldap账户无法登录系统,提示Permission denied, please try again 解决方法: 先在百度上找了下别人的博客参考了下 https://blog ...

  3. 开启Unity项目中VS工程的属性面板

    https://www.cnblogs.com/CodeGize/p/7859656.html Unity生成的VS工程一般是无法打开属性面板的.但是事实上,如果使用VS for unity,通过配置 ...

  4. React.js 小书 Lesson27 - 实战分析:评论功能(六)

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson27 转载请注明出处,保留原文链接和作者信息. (本文未审核) 删除评论 现在发布评论,评论不 ...

  5. HDU 5694——BD String——————【递归求解】

    BD String Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  6. Expression Blend实例中文教程(9) - 行为快速入门Behaviors

    在Blend强大的设计功能支持下,设计人员和开发人员可以无代码实现Silverlight/WPF动画效果,例如上文介绍的StoryBoard,就是一个典型例子,设计人员和开发人员仅需提供必要元素,即可 ...

  7. CommandLineRunner预加载数据

    在使用SpringBoot构建项目时,我们通常有一些预先数据的加载.那么SpringBoot提供了一个简单的方式来实现–CommandLineRunner. CommandLineRunner是一个接 ...

  8. 在mysql语句中为什么要加反引号

    在MySQL语句中我们有时候经常会遇到反引号(``),刚开始的时候不知道什么意思,他是什么作用呢? Select * from `member` order by posts desc limit 0 ...

  9. CentOS7下开启端口

    开启端口: firewall-cmd --zone=public --add-port=80/tcp --permanent 含义: --zone #作用域 --add-port=80/tcp #添加 ...

  10. 跨域解决方案之HTML5 postMessage

    问题场景: web是嵌入到手机客户端中的静态页面,为了统计用户行为需要引入ga,但是ga必须是在www下才行,哪怕是localhost,这就是矛盾.解决方案是在页面中使用iframe,iframe是在 ...