百木园-与人分享,
就是让自己快乐。

Maven 基础教程

一、下载安装

1、下载安装包

  apache- maven-3.3. 9-bin. zip

2、解压

3、配置环境变量

  a. 添加环境变量

  名称:M2_HOME

  值:maven 的安装目录

例如:

M2_HOME
D:\\ComputerSoftware\\apache-maven-3.6.3

  b. 添加 path

  把M2_ HOME加入到path之中。在所有路径之前加入 %M2_HOME%\\bin;

4、验证

命令行执行 mvn -v

 

二、Maven 概述

 

1、Maven 是一个项目构建的工具

2、作用

(1)管理 jar 文件

自动下载 jar 和它的文档、源代码;管理 jar 直接的依赖(如:a. jar 需要 b.jar,maven会自动下载b. jar);管理你需要的 jar 版本

(2)编译程序

maven 可以同时把成千上百的文件编译为class

(3)测试程序

maven 同时执行多个测试代码,同时测试很多功能

(4)打包文件

把你的项目中所有的class文件,配置文件等所有资源放到一个压缩文件中,这个压缩文件就是项目的结果文件;

通常 java 程序,压缩文件是 jar 扩展名的;

对于 web 应用,压缩文件扩展名是 .war

(5)安装

把生成的文件 jar、war 安装到本机仓库

(6)部署项目

 

把程序安装好可以执行

3、使用方式

(1)独立使用

使用maven的各种命令,完成代码的编译、测试、打包等

(2)结合开发工具使用

一般在 IntelliJ IDEA 中使用maven,不需要记命令

 

三、核心概念

1、maven 项目目录结构

Hello/
    ----/src
    --------/main                       #放你主程序java代码和配置文件
    -----------------/java               #你的程序包和包中的java文件
    -----------------/resources           #你的java程序中要使用的配置文件
    --------/test                       #放测试程序代码和文件的(可以没有)
    -----------------/java               #测试程序包和包中的java文件
    -----------------/resources           #测试java程序中要使用的配置文件
    ----/pom. xml                       #maven的核心文件(maven项目必须有)

2、仓库

(1)用来存放 maven 和项目要使用的 jar

(2)仓库的使用是自动进行的

开发人员需要使用mysql驱动 —> maven首先查本地仓库 —> 私服 —> 镜像 —> 中央仓库

(3)仓库分类

  a. 本地仓库:就是你的个人计算机上的文件夹,存放各种jar

  b. 远程仓库:在互联网上的,使用网络才能使用的仓库

    ① 中央仓库:最权威的,所有的开发人员都共享使用的一个集中的仓库;地址: https://repo.maven.apache.org

    ② 中央仓库的镜像:就是中央仓库的备份,在各大洲, 重要的城市都是镜像

    ③ 私服:在公司内部,在局域网中使用的,不是对外使用的

3、pom.xml

pom.xml是Maven的灵魂,所以,maven环境搭建好之后,所有的学习和操作都是关于pom.xml的

(1)坐标(gav)

唯一值,在互联网中唯一标识一个项目

① groupId:组织 id

例如:

域名倒写:com.baidu

域名倒写+项目名:com.baidu.appolo

② artifactId

③ version:项目版本号

<groupId>公司域名的倒写</groupId>
<artifactId>自定义项目名称</arti factId>
<version>自定版本号</version>

(2)打包(packaging)

项目打包的类型,可以使用 jar、war、rar、ear、pom;默认是 jar,web 应用是 war

(3)依赖(dependencies)  

<dependencies>
    <!--依赖java代码中 import -->
    <dependency>
        <groupId>mysq1</groupId>
        <arti factId> mysq1 -connector- java</arti factId>
        <version>5.1.9</version>
    </dependency>
</dependencies>

(4)属性(properties)

定义配置属性,例如:项目编码方式

(5)构建(build)

配置信息,例如:编译 java 指定的 jdk 版本

4、生命周期

清理、编译、测试、报告、打包、安装、部署

5、常用命令

maven独立使用时,通过命令完成maven的生命周期的执行

(1)单元测试

  a. 用的是 junit ,一个专门测试的框架(工具)。junit 测试的是类中的方法,每一个方法都是独立测试的。maven 借助单元测试,批量的测试类中的大量方法是否符合预期

  b. 使用方法

  先在 pom.xml 加入单元测试依赖,例如:

<!--单元测试-->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactid>
    <version>4.11</version>
    <scope>test</scope>
</dependency>

  然后,在 maven 项目中的 src/test/java 目录下,创建测试程序,例如:

@Test
public void testAdd() {
    测试HelloMaven的add方法是否正确
}

通常测试程序命名:

① 测试类的名称是 Test + 要测试的类名

② 测试的方法名称是 Test + 方法名称

(2)常用命令

以下命令要在pom.xml所在目录下执行:

① mvn clean:清理

② mvn compile:编译

(只编译 main 目录,不编译 test 目录;.class 文件保存在 target/classes 目录中)

③ mvn test-compile:编译

(只编译 test 目录,不编译 main 目录;.class 文件保存在 target/test-classes 目录中)

④ mvn test:测试

⑤ mvn package:打包

⑥ mvn install:安装

6、插件

maven命令执行时,真正完成功能的是插件;

插件就是一些 jar 文件,一些类;

在pom.xml文件中进行配置

<!--build是控制配置maven构建项目的参数设置,设置jdk的版本--> .
<build>
    <!-- 配置插件-->
    <p1ugins>
        <plugin>
            <groupId>org . apache. maven. p1ugins</groupId>
            <!-- 插件的名称 -->
            <artifactId>maven- compiler-plugin< /artifactId>
            <!-- 插件的版本 -->
            <version>3.8.1</version>
            <!-- 配置插件的信息 -->
            < configuration>
                <!-- 告诉maven我们的代码实在jdk1.8上编译的 -->
                <source>1.8</source>
                <!-- 我们的程序应该运行在1.8的jdk上 -->
                <target>1.8</target>
            </ configuration>
        </plugin>
    </plugins>
</build>

 

四、maven 结合 IntelliJ IDEA 使用

1、IDEA 中设置 maven

(1)idea中内置了 maven,一 般不使用内置的,因为用内置修改 maven 的设置不方便;

使用自己安装的 maven,需要覆盖 idea 中的默认的设置,让 idea 指定 maven 安装位置等信息。

(2)需要配置的内容

① maven的安装目录

② maven安装目录下 conf/setting.xml 配置文件位置

③ 本机仓库的目录位置

 

2、IDEA 使用模板创建项目

(1)普通 Java 项目结构

├─src
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─bjpowernode
│  │  │              HelloMaven.java
│  │  │              
│  │  └─resources
│  └─test
│      ├─java
│      │  └─com
│      │      └─bjpowernode
│      │              TestHelloMaven.java
│      │              
│      └─resources
└─target

附:在cmd窗口中执行 tree /f >目录.txt 可以将文件结构输出到本文件夹下的目录 .txt 中

(2)web 工程项目结构

├─src
│  ├─main
│  │  ├─java
│  │  │  └─com
│  │  │      └─bjpowernode
│  │  │          └─controller
│  │  │                  HelloServlet.java
│  │  │                  
│  │  ├─resources
│  │  └─webapp
│  │      │  index.jsp
│  │      │  main.jsp
│  │      │  
│  │      └─WEB-INF
│  │              web.xml
│  │              
│  └─test
│      ├─java
│      └─resources
└─target

 


来源:https://www.cnblogs.com/wy0526/p/15962716.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Maven 基础教程

相关推荐

  • 暂无文章