本文共 1786 字,大约阅读时间需要 5 分钟。
Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和信息管理
具体作用:
(1)项目构建
项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】六个步骤
理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就可以帮我们完成上述所说的项目构建过程。
(2)依赖管理
依赖管理指的使用Maven来管理项目中使用到的jar包,Maven管理的方式是“自动下载项目所需要的jar包,统一管理jar包之间的依赖关系”。
在多个项目中共享JAR通过配置文件确定使用的jar,不需要手动的导入jar。
(3)约定优于配置的思想
约定优于配置,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处,而又不失灵活性。
本质是说,开发人员仅需规定应用中不符约定的部分。例如,如果模型中有个名为Sale的类,那么数据库中对应的表就会默认命名为sales。只有在偏离这一约定时,例如将该表命名为”products_sold”,才需写有关这个名字的配置。
如果所用工具的约定与你的期待相符,便可省去配置;反之,你可以配置来达到你所期待的方式。
- Project:任何要构建的工程。一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成
- 依赖:一个项目需要使用另一个项目,项目可以被拆分多个模块
POM:pom.xml是Maven的核心文件,它是指示Maven如何工作的元数据文件
GroupID是项目组织唯一的标识符,组ID,是main目录里java的目录结构。groupId要求:唯一,一般使用域名倒写
ArtifactID就是项目的唯一的标识符,对应项目的名称
Dependency:依赖,一个工程会依赖其它的包。被依赖的包就被称为dependency。它一般是其它工程的Artifact
Plug-in:Maven由插件组成的,功能由插件提供。插件提供goal,并根据POM找到的元数据去完成工作
Repository:仓库
分类:本地仓库、第三方仓库、中央仓库
本地仓库
项目使用jar包时,优先从本地仓库查询
修改本地库位置:在$MAVEN_HOME/conf/setting.xml文件的
Maven会将工程中依赖的构件(Jar包)从远程下载到本机一个目录下管理
通常默认在$user.home/.m2/repository下,构件的存储方式通常是groupId/artifactId/version/*.jar
第三方仓库
第三方仓库,又称为内部中心仓库,也称为私服
私服:一般是由公司自己设立的,只为本公司内部共享使用(使用私服为了减少对中央仓库的访问)
中央仓库
Maven内置了远程公用仓库:http://repo1.maven.org/maven2
中央仓库由Maven官方维护,内有大量的常用类库
工程依赖的jar包如果本地仓库没有,默认从中央仓库下载
Maven命令列表 | |
mvn –version | 显示版本信息 |
mvn clean | 清理项目生产的临时文件,一般是模块下的target目录 |
mvn compile | 编译源代码,一般编译模块下的src/main/java目录 |
mvn package | 项目打包工具,会在模块下的target目录生成jar或war等文件 |
mvn test | 测试命令,或执行src/test/java/下junit的测试用例. |
mvn install | 将打包的jar/war文件复制到本地仓库中,供其他模块使用 |
mvn archetype:generate | 创建Maven的普通java项目 |
mvn tomcat7:run | 在tomcat容器中运行web应用 |
注意:运行maven命令的时候,首先需要定位到项目的pom.xml文件所在的目录。否则,需通过参数来指定项目的目录
转载地址:http://tpazi.baihongyu.com/