Maven是什么
Maven是一个用于构建和管理项目(一般是Java项目)的工具,可极大加快开发周期。
Maven可以干什么
生成项目骨架
新建一个项目骨架是一个项目的开端。这是一个重复的过程,我们不需要每次都手动创建,Maven的archetype插件内置了许多约定俗成的项目骨架,可以通过命令generate生成,比如创建一个Web项目。
mvn -B archetype:generate\
-DgroupId=com.mycompany.app\
-DartifactId=my-app\
-DarchetypeArtifactId=maven-archetype-quickstart\
-DarchetypeVersion=1.4
生成的项目骨架如下
my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java
之后就可以基于这个骨架进行开发。
编译项目
生成的class文件默认位置:${basedir}/target/classes
mvn compile
执行单元测试用例
mvn test
如果只是想编译单元测试用例,生成的class文件默认位置:${basedir}/target/test-classes
mvn test-compile
打包项目
打包文件默认路径:${basedir}/target
mvn package
存放到本地仓库
便于本地其他项目依赖使用
mvn install
上传到远程仓库
共享他人依赖使用
mvn deploy
总结
以上是日常开发中使用最多的Maven命令,使用上很简单,但是隐藏的设计和实现细节可不简单。作为一名有追求的开发者,理应搞清楚其背后的设计和实现原理,才能做到有的放矢,更高效的使用这个工具。
特性
后续讲解
- 构建生命周期
- 依赖机制
- 插件机制
- 仓库
- 多模块
- 配置