Maven
介绍和搭建
介绍
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告,和文档的软件项目管理工具。
环境搭建
网址:https://maven.apache.org/download.cgi
windows下载这个包:
![72b2b69db63d0b38a9e513a45bec0b77.png](https://i-blog.csdnimg.cn/blog_migrate/1cc55b56e7e22e3d68ff42e88c098268.jpeg)
配置环境变量:
M2_HOME :
![9aff2c2238d8266b7e509f09cd2cc592.png](https://i-blog.csdnimg.cn/blog_migrate/f9e1110c830d2ce1e220504cdcc4e904.jpeg)
path: %M2_HOME%bin;
打开cmd验证:
![d8593bf762678669f084d0597f52afd1.png](https://i-blog.csdnimg.cn/blog_migrate/a65b91ac7ce551627bc592f15d0506d2.png)
修改配置文件中本地仓库位置:
打开setting.xml文件:
![1df3750168e60c8c53a107606ef4d78c.png](https://i-blog.csdnimg.cn/blog_migrate/8d6f5811df7b320bac9eb0cade6bf655.jpeg)
修改仓库为你自己的文件夹位置:
![90e13aec9c96c14984c29228d1083158.png](https://i-blog.csdnimg.cn/blog_migrate/3c134fbfc34a65e20b87b866866755fe.jpeg)
保存关闭即可。
小案例
Maven约定目录结构
mvn-project
src
-main
-java
-package
-test
-java
-package
resources
target
pom.xml
小测试
常用maven命令
mvn -v 查看maven版本
mvn compile 编译
mvn test 测试
mvn package 打包
mvn clean 删除target
mvn install 安装jar包到本地仓库
建立maven-test目录并在其中建立如下目录结构
![5f2654ddc46caefa50859015fa8b1f69.png](https://i-blog.csdnimg.cn/blog_migrate/55a5bf30a760ef65bd00320552a47f14.jpeg)
在main最后目录下建立一个Hallo.java文件,内容如下:
package com.imooc.maven01.model;
public class Hello{
public String sayHello(){
return "Hello";
}
}
在test文件夹最后目录下建立一个TestHello.java文件,内容如下:
package com.imooc.maven01.model;
import org.junit.*;
import org.junit.Assert.*;
public class HelloTest{
@Test
public void testSayHello(){
Assert.assertEquals("Hello",new Hello().sayHello());
}
}
在maven-test文件夹下建立一个pom.xml文件,内容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.imooc.maven01</groupId>
<artifactId>maven-test</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies>
</project>
在maven-test目录下执行maven命令:
mvn compile
输出如下:
![e9fbbc1e561027979d6176b86ae58a55.png](https://i-blog.csdnimg.cn/blog_migrate/427a29fdd3cce9cedfe5278f446ee9c1.jpeg)
mvn test
输出如下:
![915e43515c6426a363772fcb72dfa86d.png](https://i-blog.csdnimg.cn/blog_migrate/497a28672bc63d0183bf84c6f0ab43c1.jpeg)
mvn package
输出如下:
![2ca447df1fff0621ad7144828a358bfe.png](https://i-blog.csdnimg.cn/blog_migrate/b152d5a5b9634e81262fc8e12f5538ce.jpeg)
执行mvn clean,输出如下:
![0378927898a6f4361fefbcba80f7acd6.png](https://i-blog.csdnimg.cn/blog_migrate/b9bbe06689f88685a84eb0bbd1ba464c.jpeg)
可以看到target文件夹已经不存在了:
![a59caaaacb7497e8d1b982339a1f0205.png](https://i-blog.csdnimg.cn/blog_migrate/4a0d2b6913b7fbde2ec76ac5d056c453.jpeg)
执行 mvn install,输出如下:
![a9977e2dd50e7ded83d669c1eb838372.png](https://i-blog.csdnimg.cn/blog_migrate/4836de442c7c98c481d537b827d4f358.jpeg)
可以在本地仓库中看到我们的jar包已经存在:
![687abee6fb20a3a35ddf3096c7c0b5cf.png](https://i-blog.csdnimg.cn/blog_migrate/a5b3f4d3f8a6ff278e1949a117991d78.jpeg)