为什么有Maven?
如果有一套工具,可以使用一套标准的方法来构建一个项目,可以清楚的定义一个项目是哪些部分组成的,可以拥有一种简单的方法发布项目的信息,可以在不同的项目之间分享jar包。
Maven基础知识
- POM是一个xml文件,在Maven里为pom.xml。
- POM是可以继承的。
- project标签是顶级元素,一个project可以依赖其他的project,一个project也可以有多个子project组成。
- 4.0.0是一个必不可少的标签。
<groupId>slabs</groupId> 组织或者公司(域名)
<artifactId>ljf-server</artifactId> 项目名称或者模块名称
<version>1.0</version>
<packaging>jar</packaging>
- dependencies表示依赖,子节点dependencies中添加具体依赖的groupId,artifactId和version。Maven构建依赖的时候,就是去官网上复制依赖jar。
- parent 表示父POM
- repositories 仓库。远程仓库和本地仓库。Windows的Maven的本地仓库,.m2/respository。
Maven常用命令
- mvn compile(先去本地找依赖jar包,如果没有的话,就去中央仓库中去找,然后下载到本地,如果有的话,则不需要去中央下载,直接使用本地jar就可以了,生成target目录)。
- mvn clean(删除target目录)。
- mvn package(只是打包,打包后的文件在target目录下)。
- mvn install (打包并发布到本地仓库),如果是多个项目的话,可以打包其中的项目到本地仓库,然后其他项目就可以依赖这个项目。
搜索jar
Maven依赖传递性
A依赖B,B依赖C。依赖A jar后,B jar和C jar自然被加入。