Maven
什么是Maven
Maven就是是专门为Java项目打造的管理和构建工具,它的主要功能有:
1、提供了一套标准化的项目结构;
2、提供了一套标准化的构建流程(编译,测试,打包,发布……);
3、提供了一套依赖管理机制。
Maven项目结构
一个使用Maven管理的普通的Java项目,它的目录结构默认如下:
a-maven-project
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ └── resources
│ └── test
│ ├── java
│ └── resources
└── target
项目的根目录a-maven-project是项目名,它有一个项目描述文件pom.xml,存放Java源码的目录是src/main/java,存放资源文件的目录是src/main/resources,存放测试源码的目录是src/test/java,存放测试资源的目录是src/test/resources,最后,所有编译、打包生成的文件都放在target目录里。这些就是一个Maven项目的标准目录结构。
所有的目录结构都是约定好的标准结构,我们千万不要随意修改目录结构。使用标准结构不需要做任何配置,Maven就可以正常使用。
pom文件
我们再来看最关键的一个项目描述文件pom.xml,它的内容长得像下面:
<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.itranswarp.learnjava</groupId>
<artifactId>hello</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<properties>
...
</properties>
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</project>
其中,groupId类似于Java的包名,通常是公司或组织名称,artifactId类似于Java的类名,通常是项目名称,再加上version,一个Maven工程就是由groupId,artifactId和version作为唯一标识。我们在引用其他第三方库的时候,也是通过这3个变量确定。例如,依赖commons-logging:
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
使用<dependency>声明一个依赖后,Maven就会自动下载这个依赖包并把它放到classpath中。
Maven下载
要安装Maven,可以从Maven官网下载最新的Maven 3.6.x,然后在本地解压,设置几个环境变量:
M2_HOME=/path/to/maven-3.6.x
PATH=$PATH:$M2_HOME/bin
Windows可以把%M2_HOME%\bin添加到系统Path变量中。然后,打开命令行窗口,输入mvn -version,应该看到Maven的版本信息:
mvn -version
如果提示命令未找到,说明系统PATH路径有误,需要修复后再运行。
IDEA编程器集成Maven环境
(1)选择File–Other Setting:OtherSetting相当于全局配置,配置完在每一次重新创建项目的时候就不用再重新配置了,setting中配置,重新创建项目会需要重新配置。
(2)搜索maven,进行如图配置,点击应用这个时候maven就配置好了
Maven创建项目
以创建一个Java项目为例
(1)选择File-New-Project
(2)选择Maven,设置JDK版本,选择Maven项目的模板,Next;
(3)设置项目的GroupId和ArtifactId,Next;
(4)配置Maven环境,同上文说的配置,Next;
(5)检查项目名和工作空间,选择Finish。
(6)等待项目创建,下载资源,创建完成后目录如下:
若没有自动创建出resource文件,可手动添加,添加后需要配置成ResourceRoot,否则就是一个普通的项目,maven不会识别;右侧有Maven的可视化工具;也可以通过File-projectStructure(项目结构)去配置。
(7)编译
a、点击"Add Configuration"按钮添加配置,打开"Run/Debug Configrations"窗口。
b、点击加号,选择Maven,设置编译项目的命令。同理,也可以配置打包命令,打jar包,编译和打包结果都在target文件夹下,控制台可提示具体位置。