如果你还在用的话,那你就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继承。