如果你还在用的话,那你就out了,现代人都用`mvn archetype:generate`了,它将创建项目这件枯燥的事更加人性化,你再也不需要记那么多的`archetypeArtifactId`,你只需输入`archetype:generate`,剩下的就是做”选择题”了.


`cmd`步骤:  
 ![在这里插入图片描述]()


缩写写法:

mvn archetype:generate -DgroupId=otowa.user.dao -DartifactId=user-dao -Dversion=0.01-SNAPSHOT

编译源代码:`mvn compile`  
 编译测试代码:`mvn test-compile`  
 运行测试: `mvn test`  
 产生site:`mvn site`  
 打包:`mvn package`  
 在本地`Repository`中安装`jar`:`mvn install`  
 清除产生的项目:`mvn clean`  
 生成`eclipse`项目:`mvn eclipse:eclipse`  
 生成`idea`项目:`mvn idea:idea`  
 组合使用`goal`命令,如只打包不测试:`mvn -Dtest package`  
 编译测试的内容:`mvn test-compile`  
 只打`jar`包: `mvn jar:jar`  
 只测试而不编译,也不测试编译:`mvn test -skipping compile -skipping test-compile`  
 ( `-skipping` 的灵活运用,当然也可以用于其他组合命令)  
 清除`eclipse`的一些系统设置: `mvn eclipse:clean`  
 查看当前项目已被解析的依赖:`mvn dependency:list`  
 上传到私服:`mvn deploy`  
 强制检查更新,由于快照版本的更新策略(一天更新几次、隔段时间更新一次)存在,如果想强制更新就会用到此命令: `mvn clean install-U`  
 源码打包:`mvn source:jar` 或 `mvn source:jar-no-fork`


### 二、mvn compile与mvn install、mvn deploy的区别



> 
> * `mvn compile`,编译类文件;
> * `mvn install`,包含`mvn compile`,`mvn package`,然后上传到本地仓库 ;
> * `mvn deploy,`包含`mvn install`,然后,上传到私服;
> 
> 
> 


一般使用情况是这样,首先通过`cvs`或`svn`下载代码到本机,然后执行`mvn eclipse:eclipse`生成`ecllipse`项目文件,然后导入到`eclipse`就行了;修改代码后执行`mvn compile`或`mvn test`检验,也可以下载`eclipse`的`maven`插件。


1. 显示版本信息 :

mvn -version/-v

2. 创建`mvn`项目:

mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app

3. 生成`target`目录,编译、测试代码,生成测试报告,生成`jar/war`文件 :

mvn package

4. 运行项目于`jetty`上:

mvn jetty:run

5. 显示详细错误信息:

mvn -e

6. 验证工程是否正确,所有需要的资源是否可用:

mvn validate

7. 在集成测试可以运行的环境中处理和发布包:

mvn integration-test

8. 运行任何检查,验证包是否有效且达到质量标准:

mvn verify

9. 产生应用需要的任何额外的源代码,如`xdoclet` :

mvn generate-sources

10. 使用 `help` 插件的 `describe` 目标来输出 `Maven Help` 插件的信息:

mvn help:describe -Dplugin=help

11. 使用Help 插件输出完整的带有参数的目标列 :

mvn help:describe -Dplugin=help -Dfull

12. 获取单个目标的信息,设置 `mojo` 参数和 `plugin` 参数。此命令列出了`Compiler` 插件`compile` 目标的所有信息 :

mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull

13. 列出所有 `Maven Exec` 插件可用的目标:

mvn help:describe -Dplugin=exec -Dfull

14. 看这个“有效的 (effective)”`POM`,它暴露了 `Maven`的默认设置 :

mvn help:effective-pom

15. 想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 `Maven` 的调试标记运行 :

mvn install -X

16. 给任何目标添加maven.test.skip 属性就能跳过测试 :

mvn install -Dmaven.test.skip=true

17. 构建装配`Maven Assembly` 插件是一个用来创建你应用程序特有分发包的插件 :

mvn install assembly:assembly

18. 生成Wtp插件的Web项目 :

mvn -Dwtpversion=1.0 eclipse:eclipse

19. 清除`Eclipse`项目的配置信息(Web项目) :

mvn -Dwtpversion=1.0 eclipse:clean

20. 将项目转化为Eclipse项目 :

mvn eclipse:eclipse

21. `mvn exec`命令可以执行项目中的`main`函数 :  
 首先需要编译`java`工程:`mvn compile`  
 不存在参数的情况下:`mvn exec:java -Dexec.mainClass="***.Main"`  
 存在参数:`mvn exec:java -Dexec.mainClass="***.Main" -Dexec.args="arg0 arg1 arg2"`  
 指定运行时库:`mvn exec:java -Dexec.mainClass="***.Main" -Dexec.classpathScope=runtime`
22. 打印出已解决依赖的列表 :

mvn dependency:resolve

23. 打印整个依赖树 :

mvn dependency:tree
ES6

  • 列举常用的ES6特性:
  • 箭头函数需要注意哪些地方?
  • let、const、var
  • 拓展:var方式定义的变量有什么样的bug?
  • Set数据结构
  • 拓展:数组去重的方法
  • 箭头函数this的指向。
  • 手写ES6 class继承。