Maven入门使用文档

原创文章,禁止转载!

一、什么是Maven
Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。
Maven项目的结构和内容在一个XML文件中声明,pom.xml 项目对象模型(POM),这是整个Maven系统的基本单元。
Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。
Maven作为一个构建工具,不仅帮助我们自动化构建,还能抽象构建过程提供构建任务实现;它跨平台,对外提供了一致的操作接口。
二、为什么需要Maven
在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。
Maven处理编译,分配,文档,团队协作和其他任务的无缝连接。
Maven增加可重用性并负责建立相关的任务。
Maven是跨平台的,无论在Windows、Linux、或者是Mac上,都可以使用同样的命令。
Maven最大化地消除了构建的重复,抽象了构建生命周期,并且为绝大部分的构建任务提供了已实现的插件。
Maven可以帮助我们标准化构建过程。
Maven帮助我们管理原本散落在项目中各个角落的项目信息。
Maven提供了一个免费的中央仓库,在其中可以找到任何流行的开源类库。
Maven对于项目目录结构、测试用例命名方法等内容都有既定的规则,可以说是约定优于配置。
三、Maven的安装与配置
1.检查JDK是否安装

这里写图片描述

2.下载Maven

请到Maven官网按照自己的需求自行下载。

3.本地安装

(1)将安装文件解压到指定目录
这里的安装目录是: E:\apache-maven-3.2.5
(2)设置环境变量
右键“计算机”,选择“属性”,之后点击“高级系统设置”,点击“环境变量”,来设置环境变量,有以下系统变量需要配置:
新建系统变量 M2_HOME 变量值:E:\apache-maven-3.2.5(安装文件的指定目录)
编辑系统变量 Path 添加变量值: %M2_HOME%\bin(多个值之间用分号隔开)
(3)验证是否配置成功

这里写图片描述
四、Maven入门(手动创建一个hello-world项目)
1.编写pom.xml
首先创建一个hello-world的文件夹,打开文件夹,新建一个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.mvn.mvnbook</groupId>
    <artifactId>hello-world</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>Maven Hello World Project</name>
</project>

2.编写主代码
Maven主代码一般放在src/main/java目录下,在这目录下新建com/mvn/mvnwork/hello-world文件夹,在这个文件夹下新建HelloWorld.java
代码内容如下:

package com.mvn.mvnbook.helloworld;
public class HelloWorld{
    public String sayHello(){
    return "HelloMaven!";
}

    public static void main(String[] args){

System.out.print(new HelloWorld().sayHello());
}
}

代码编写完毕后,使用Maven进行编译
打开cmd,在项目根目录下位置输入mvn clean compile
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

3.编写测试代码

同样在创建src/test/java目录,在这目录下新建com/mvn/mvnwork/hello-world文件夹,在这个文件夹下新建HelloWorldTest.java

(1)首先给项目一个Junit依赖,修改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.mvn.mvnbook</groupId>
    <artifactId>hello-world</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>Maven Hello World Project</name>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.7</version>
            <scope>test</scope>
        </dependency>

    </dependencies>
</project>

(2)编写HelloWorldText.java

package com.mvn.mvnbook.helloworld;

import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class HelloWorldTest{
    @Test
    public void testSayHello(){
        HelloWorld helloWorld = new Helloworld();
        String result = helloWorld.sayHello();
        assertEquals("HelloMaven!",result);

    }
}

(3)调用Maven进行测试
运行 mvn clean test

这里写图片描述
这里写图片描述
这里写图片描述

4.打包和运行
(1)打包:Hello-world项目中的pom没有指定打包的类型,默认使用的是.jar格式,简单使用mvn clean package进行打包,可以看到如下输出:

这里写图片描述

类似的,Maven 会在打包之前使用编译测试等操作。会在target中出现一个根据artifact-version.jar命名的jar包

这里写图片描述

(2)为了能让其他的Maven项目直接引用这个jar,需要一个安装的步骤,执行mvn clean install:

这里写图片描述

(3)为了生成可执行的jar文件,需要在pom.xml中配置maven-shade-plugin插件
Pom.xml中的代码如下:

<build>  
    <plugins>  
      <plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-shade-plugin</artifactId>  
    <version>1.4</version>  
    <executions>  
        <execution>  
            <phase>package</phase>  
            <goals>  
                <goal>shade</goal>  
            </goals>  
            <configuration>  
                <transformers>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                        <!-- <resource>META-INF/spring.handlers</resource>  --> 
                    </transformer> 
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
                        <mainClass>com.mvn.mvnbook.helloworld.HelloWorld</mainClass>  
                    </transformer>  
                    <transformer  
                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                       <!--  <resource>META-INF/spring.schemas</resource>  --> 
                    </transformer>  
                </transformers>  
            </configuration>  
        </execution>  
    </executions>  
</plugin>    
    </plugins>  
  </build> 

执行mvn clean install:

这里写图片描述
这里写图片描述

在项目根目录下执行hello-world-1.0-SNAPSHOT.jar文件
执行命令为:java -jar target\hello-world-1.0-SNAPSHOT.jar,即可得到HelloMaven!的输出结果。

这里写图片描述

五、使用eclipse新建一个Maven项目

1.检查eclipse的maven插件是否安装成功
如果没有安装请在此添加:1)点击Installations –> add 选择maven安装目录,这里我的Maven安装目录为E:\apache-maven-3.2.5,选择你的Maven安装目录,并点击确定, 之后可以点击Apply,点击OK,即可完成。
这里写图片描述

2)然后,我们在Maven的配置界面,设置User Settings。
Global Settings选择maven 安装目录下conf文件夹下的settings.xml,这里我的Maven安装目录为E:\apache-maven-3.2.5\conf\settings.xml(这是全局settings)(我的目录是用户的settings,配置时可自行选择,不过推荐使用用户范围的settings),选择你的Maven安装目录,检查Local Repository 项,如果为D:/maven/repository则配置成功,否则重新配置上一步。

这里写图片描述

2.创建Maven项目
1)我们在Eclipse菜单栏中点击File->New->Other->Maven,在弹出的对话框中会看到,如下图所示,点击next:

这里写图片描述

2)勾选Create a simple project(skip archetype selection),然后点击next,如下图:

这里写图片描述

3)填写Group id和Artifact id,Version默认,Packaging默认为jar,Name,Description选填,其他的不填。(如果有父级的项目,就填写下面父级项目的Group id、Artifact id等)

这里写图片描述

4)点击finish后,eclipse会生成如下项目:

这里写图片描述

5)如果我们想创建一个Maven的web项目,把第三步的Packaging的类型改为war,之后点击Finish即可,如图所示:

这里写图片描述

6)至此,maven项目创建完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章