目录
2.1、Pom(Project Object Model 项目对象模型)
1、Maven简介
Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的 项目构建工具 ,它用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、测试、打包和发布等工作。
2、Maven 中的概念
2.1、Pom(Project Object Model 项目对象模型)
- Maven 管理的项目的根目录下都有一个 pom.xml 文件。pom.xml 文件指示Maven 如何工作。
- 在 pom.xml 文件中配置项目基本信息以及项目构建信息等。比如:项目坐标、项目依赖的 jar、插件、编译选项等。
- 一旦在 pom.xml 文件中配置了所依赖的 jar,Maven 会自动从构件仓库中下载相应的构件。
2.2、项目坐标
- maven 给每个 jar 定义了唯一的标志,这个在 maven 中叫做项目的坐标,通过这个坐标可以找到你需要 用到的任何版本的 jar 包。
- groupId、artifactId、packaging、version 的组合被称为项目的坐标,它们形成了项目的唯一标识,Maven通过坐标来精确定位构件。其中 groupId、artifactId、version 是必须的,且这三项的值必须唯一,packaging 是可选的(默认为 jar)。
2.3、仓库
中央仓库 全球共享,先将 jar 从中央仓库下载到本地仓库,然后在项目中引用本地仓库的 jar.
3、Maven开发环境搭建
3.1、前提
- 安装 jdk
- Maven 工作时需要通过网络下载各种插件以完成任务,因此应保证网络的通畅。
3.2、下载Maven服务器
maven 官网:http:// maven.apache. org(具体下载过程不过多阐述)
3.3、安装配置Maven
- 点击下载二进制的 apache-maven-3.6.0-bin.zip 进行解压,”然后在系统环境中配置环境变量,在path中配置到bin目录(具体步骤不过多阐述),配置成功后输入命令 mvn -version 查看版本如下图:
(表示Maven环境配置成功)
3.4、配置本地仓库
(1)在本地磁盘中建立通过 maven 下载后 jar 文件所存储的文件夹,一般我们称为”仓库(repository)”;
(2)在 maven 解压的文件中找到 conf 文件夹下的settings.xml 文件进行修改(作用:是将下载的 jar 文件存储到我们指定的仓库中),如下图所示:
(3)添加<localRepository>你的Mavenl路径(注意在conf文件下)</localRepository>
(4)配置阿里云 maven 镜像仓库,下载速度更快
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
3.5、在idea中配置Maven
(1)创建Maven工程
3.6、Pom.xml 配置
(1)maven 仓库官网http://mvnrepository.com/如下图所示::在此官网就可以下载自己所需开发 jar 包,继续点击链接打开如下:
(2)例如下载 servlet jar 包
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
(3)<!--配置 servlet 开发环境 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
(4)各个子元素功能解释:
- <groupId>,<artifactId>和<version>:依赖项的基本坐标
<type>:依赖项的 packaging 类型,默认是 jar; <scope>:依赖项的作用范围,默认是 compile。各个取值及含义如下: compile:编译时和运行时依赖。如果你的项目最终打包为 war 包,则该依赖包会被拷贝到 war 包中的 lib 目录中。 provided:编译项目主代码和测试代码时使用此依赖项,运行时由 jre 或 web容器提供。如果你的项目最终打包为 war 包,则该 jar 包不会被打包。
4、Maven命令
4.1、maven 常用命令
mvn clean | 删除编译的 target |
mvn compile | 编译 |
mvn package | 打包 |
mvn test | 测试代码 |
mvn install | 把生成的项目上传到本地仓库 |
mvn deploy | 上传到私服 |
mvn clean packeage | 先清理在打包 |
mvn clean install | 先清理在上传 |