一、Maven基本配置说明
1、maven的全局配置文件为maven目录下的:conf\settings.xml,其中的<localRepository>/path/to/local/repo</localRepository> 指定了本地仓库的地址,此默认值是C:\Users\username\.m2。此处将其修改为 <localRepository>G:\note\java\apache-tomcat-8.5.15\apache-maven-3.5.0\myMavenHub</localRepository>
2、用户配置,C:\Users\username\.m2\settings.xml,该文件默认不存在,需将全局配置文件settings.xml拷贝至此,这样可使得每个用户拥有不同的仓库。
3、使用阿里云下载路径(提高下载速度),同样配置settings.xml文件,如下:
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
</mirrors>
二、手动创建一个Maven工程
1、创建一个工程项目,结构如下(注意,以下的target文件夹不用创建,其将由mvn 编译 ):
helloMaven
|--src(源码包)
|--main(正常的源码包)
|--java(.java文件的目录)
|--resources(资源文件的目录)
|--test(测试的源码包)
|--java
|--resources
|--target(class文件、报告等信息存储的地方)
|--pom.xml(maven工程的描述文件)
另外,使用以下命令,也可创建如上工程目录(没有以上结构中的2个resources文件夹和target文件夹):
mvn archetype:generate -DgroupId=com.qp.maven -DartifactId=HelloMaven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
2、在src\main\java\com\qp\maven 文件夹下创建HelloMaven.java文件:
package com.qp.maven;
public class HelloMaven{
public String sayHello(String name){
return "hello "+name;
}
}
3、在src\test\java\com\qp\maven 文件夹下创建TestMaven.java文件:
package com.qp.maven;
import org.junit.Test;
import static junit.framework.Assert.*;
public class TestMaven{
@Test
public void test(){
HelloMaven hm = new HelloMaven();
String result = hm.sayHello("zs");
assertEquals("hello zs",result);
}
}
4、在项目根目录helloMaven下创建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">
<!-- 版本:4.0.0 -->
<modelVersion>4.0.0</modelVersion>
<!-- 组织名称:暂时使用 组织名称+项目名称 作为组织名称 -->
<!-- 组织名称:实际名称 按照访问路径规范设置,通常以功能作为名称:eg: junit spring -->
<groupId>com.qp.maven</groupId>
<!-- 项目名称 -->
<artifactId>HelloMaven</artifactId>
<!-- 当前项目版本号:同一个项目开发过程中可以发布多个版本,此处标示0.0.1版 -->
<!-- 当前项目版本号:每个工程发布后可以发布多个版本,依赖时调取不同的版本,使用不同的版本号 -->
<version>0.0.1</version>
<!-- 名称:可省略 -->
<name>Hello</name>
<!-- 依赖关系 -->
<dependencies>
<!-- 依赖设置 -->
<dependency>
<!-- 依赖组织名称 -->
<groupId>junit</groupId>
<!-- 依赖项目名称 -->
<artifactId>junit</artifactId>
<!-- 依赖版本名称 -->
<version>4.9</version>
<!-- 依赖范围:test包下依赖该设置 -->
<scope>test</scope>
</dependency>
</dependencies>
</project>
5、Maven命令使用。
切换到helloMaven文件夹下,按住shift键,右键选择 “在此处打开命令窗口 ”:
(1)编译:输入mvn compile ,生成target文件夹,见上文工程项目结构。
(2)清除:输入mvn clean ,删除target文件夹。
(3)测试:输入mvn test,将test目录中的源码进行编译。
(4)打包:输入mvn package,会将项目进行打包,target文件夹中生成 HelloMaven-0.0.1.jar 文件。
(5)安装:输入 mvn install,则将打好的包,安装到本地仓库(根据上文第一部分Maven基本配置说明中的设置,本地仓库已修改为:G:\note\java\apache-tomcat-8.5.15\apache-maven-3.5.0\myMavenHub,在此目录下的com文件夹下,多出\qp\maven\HelloMaven文件夹)
三、Maven命令的组合使用
Maven命令的组合使用,主要是多个命令组合后一次执行多个操作,如下:
(1)mvn clean compile ,先清空再编译
(2)mvn clean test ,清空、编译并测试
(3)mvn clean package ,清空、编译、测试并打包
(4)mvn clean install ,清空、编译、测试、打包并安装