文章目录
Maven
在没有使用maven时我们遇到的问题:
- jar包难找.
- jar包依赖问题
- jar包管理问题
- 项目编译问题
1. Maven简介
Maven是Apache下的一个开源项目,它主要用于项目构建,项目信息管理和依赖管理。java开发的项目对象模型,支持从网络上下载的工能(需要jar包依赖时,直接给一个地址就可以下载),采用的依然是xml作为配置文件格式。主要专注于依赖管理。
1.1Maven中的概念
项目对象模型(pom):
Maven管理的项目的根目录下都有一个pom.xml文件。pom.xml文件用来指示Maven如何工作。在pom.xml文件中配置项目基本信息以及项目构建信息等。如项目坐标、项目依赖的jar包、插件等。如果pom.xml文件中配置了项目所依赖的jar包,Maven就会自动从仓库中下载相应的构建。
项目坐标
Maven给每一个jar包定义了惟一的标识,在Maven中叫做项目坐标,通过这个坐标可以找到需要的jar包。
仓库
仓库分为中央仓库、本地仓库。
先将jar包从中央仓库下载到本地仓库,然后在项目中引用本地仓库的jar包。
2. Maven的特点
2.1 依赖管理系统
在没有使用maven之前jar包是非常难找的,找到的jar包还有可能存在版本是否兼容问题。Maven就引入了一个新的依赖管理系统 jar包管理,我们只需要jar包的坐标(唯一标识),然后修改配置就好。
<!--配置 servlet 开发环境 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- groupId===>当前jar包所在的一个公司
artifactId===>当前公司的项目
version====>此项目的版本号-->
2.2 多模块构建
一个项目是非常大的,可以将项目分成多个不同功能的模块,用以提升项目的效率。
2.3一致的项目结构
Maven统一了项目的结构,只要是Maven项目无论是什么编辑器中创建,它的目录结构都是一样的,并且都可以在其他编辑器中正常运行。
2.4一致的构建模型和插件机制
3.Maven的安装配置
安装前提:需要安装jdk1.7版本以上。
- 下载Maven服务器 :maven 官网:http:// maven.apache. org
- 将下载后的压缩包解压,然后在系统环境中配置环境变量,在path中配置到bin目录。
- 配置成功后 win+R cmd后输入命令mvn -version查看版本
如下图:
表示maven环境配置成功。
- 配置本地仓库地址
接下来根据情况在本地磁盘中建立通过 maven 下载后 jar 文件所存储的文件夹,一般我们称为”仓库(repository)”;最终是如何将下载的 jar 文件存储到我们指定的仓库中呢?需要在 maven 的服务器解压的文件中找到 conf 文件夹下的settings.xml 文件进行修改,如图:
通常也会配置阿里云Maven镜像仓库,下载速度更快
<!--阿里云镜像仓库地址 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
- idea 中设置Maven
-
创建java项目
-
修改pom.xml配置
在 maven 仓库官网(http://mvnrepository.com/)可以下载自己需要的jar包
例如:
<!--配置 servlet 开发环境 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!--
<type>:依赖项的 packaging 类型,默认是 jar;
<scope>:依赖项的作用范围,默认是 compile。各个取值及含义:
compile:编译时和运行时依赖。如果你的项目最终打包为 war 包,则该依赖 包会被拷贝到 war 包中的 lib 目录中。
provided:编译项目主代码和测试代码时使用此依赖项,运行时由 jre 或 web 容器提供。如果你的项目最终打包为 war 包,则该 jar 包不会被打包。
-->
4.Maven中的命令
Maven 常用命令
-
compile:编译
-
clean :删除 target
-
package :打包
-
install :把项目 install 到本地仓库
-
test: 运行测试代码