Maven入门(上)
1.maven介绍及环境搭建
Maven是基于项目对象模型(POM),
2.下载并安装maven
下载maven
- 打开Maven官网下载页面:http://maven.apache.org/download.cgi
下载:apache-maven-x.x.x-bin.tar.gz
- 解压下载的安装包到某一目录eg./Users/wangzhe/Documents/class
配置命令行
vim ~/.bash_profile
在bash_profile文件中输入并保存退出
export M2_HOME=/Users/wangzhe/Documents/class/apache-maven-3.5.4 export PATH=${PATH}:$M2_HOME/bin
- 使配置生效
source ~/.bash_profile
查看配置是否生效
- mvn -v
3.目录介绍
- bin:mvn的运行脚本
- boot:包含类加载器的框架,maven使用其加载自己的类库
- conf:配置文件
- lib:maven需要的类库
4.maven约定好的目录结构
src
-main
-java
-package
-test
-java
-package
-resource
pom.xml
- modelVersion:maven版本
- groupId:项目的包名
- artifactId:模块名(或项目名)
- version:版本
<?xml version="1.0" encoding="utf-8"?> <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/maven-v4_0_0.xsd "> <modelVersion>4.0.0</modelVersion> <groupId>com.imooc.maven01</groupId> <artifactId>maven01-model</artifactId> <version>0.0.1</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> </dependencies> </project>
5.mvn常用命令
- mvn -v 查看maven版本
- mvn compile 编译
- mvn test 测试
- mvn package 打包
- mvn clean 删除target(target包中包含编译后的字节码文件和测试报告,是maven生成的目标文件)
- mvn install 发布jar包到本地仓库中
//Speak.java
package com.imooc.maven02.utils;
import com.imooc.maven01.model.HelloWorld;
public class Speak{
public String sayHi(){
return new HelloWorld().sayHello();
}
}
//SpeakTest.java
package com.imooc.maven02.utils;
import org.junit.*;
import org.junit.Assert.*;
public class SpeakTest{
@Test
public void testsayHi(){
Assert.assertEquals("HelloWorld",new Speak().sayHi());
}
}
//pom.xml
<?xml version="1.0" encoding="utf-8"?>
<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/maven-v4_0_0.xsd ">
<modelVersion>4.0.0</modelVersion>
<groupId>com.imooc.maven02</groupId>
<artifactId>maven02-utils</artifactId>
<version>0.0.1</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<dependency>
<groupId>com.imooc.maven01</groupId>
<artifactId>maven01-model</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
</project>
- 对mvn来说引入构建包的流程
- 利用mvn compile编译源代码
- 若在编译过程中用到其他包,则回到pom.xml中查找是否引入该依赖包的坐标
- 引入坐标之后,会从本地仓库中查找,若本地存在jar包,则将该jar包加入到项目的classpath中
- 若果本地仓库没有jar包,则会到网上maven的中央仓库中查找并下载,并放到本地的仓库中,供我们的项目进行使用