前面例子创建了一个HelloWorld应用,所做的工作就是通过命令行输入mvn archetype:generate,然后给出GroupId, artifactId,及Version等信息,Maven就创建了一个新的项目,包括应用本身和Junit单元测试代码框架。
下面给出了Maven的基本工作过程。
Maven 是根据存储在Maven repository 的信息来决定其操作,存放在Maven Repository的信息包括两个部分:
- Archtype Info相当于项目的模板,Maven根据archtype 来构造新创建项目的文件结构,比如前面使用的是缺省的generate 创建一个Java应用
- Dependency Info 存放了不同Jar(库)之间的相互依赖(引用关系)
当在命令行调用maven 命令时,maven 通过访问Maven repository 中的信息创建新项目的目录结构(directory structure),下载所依赖的库文件(jar),HelloWorld 只依赖Junit. 并将项目信息写到pom.xml 文件中。你可以通过修改pom.xml 来添加其它引用的库文件。Maven则自动下载所需库文件。