01.Maven简介

01.Maven简介

Maven简介

Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。

在多个开发团队一起工作时,Maven可以按照标准设置在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可以重复使用,Maven让开发人员的工作更轻松,同事创建报表、检查、构建和测试自动化设置。

Maven提供的管理有:

  • Builds
  • Documentation
  • Reporting
  • Dependecies
  • SCMs
  • Release
  • Distribution
  • mailing listMaven简化和标准化项目的建设过程。处理编译、分配、文档、团队协作和其他任务的无缝连接。Maven增加可重用性并建立相关性任务。

标准化的目录结构:Maven的项目目录结构是固定的,和具体的开发环境无关(eclipse和idea有自己的默认项目目录结构)。

Maven安装

在Windows安装时,需要下载Maven的zip文件,并解压到想要的目录中。

安装要求

必须配置好JavaSDK的路径,和Java_HOME环境变量

在Path中添加Maven的bin目录。注意:请尽量使用 JDK 1.8 及以上版本

JDK 和 JAVA_HOME

确保已安装 JDK,并设置 JAVA_HOME 环境变量到 Windows 环境变量。

下载 Apache Maven

下载地址:maven.apache.org/download.cg…

下载 Maven 的 zip 文件,例如: apache-maven-3.5.2-bin.zip,将它解压到你要安装 Maven 的文件夹。假设你解压缩到文件夹 – D:\apache-maven-3.5.2

注意:在这一步,只是文件夹和文件,安装不是必需的。

添加 MAVEN_HOME

添加 MAVEN_HOME 环境变量到 Windows 环境变量,并将其指向你的 Maven 文件夹。

添加到环境变量 - PATH

验证

使用命令:mvn -version

输出:

C:\Users\Lusifer>mvn -versionApache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)Maven home: D:\apache-maven-3.5.2\bin\..Java version: 1.8.0_152, vendor: Oracle CorporationJava home: C:\Program Files\Java\jdk1.8.0_152\jreDefault locale: zh_CN, platform encoding: GBKOS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

Maven 本地仓库

概述Maven 的本地资源库是用来存储所有项目的依赖关系(插件 Jar 和其他文件,这些文件被 Maven 下载)到本地文件夹。很简单,当你建立一个 Maven 项目,所有相关文件将被存储在你的 Maven 本地仓库。

默认情况下,Maven 的本地资源库默认为 .m2 目录文件夹:

  • Unix/Mac OS X:~/.m2
  • Windows:C:\Documents and Settings{your-username}.m2通常情况下,可改变默认的 .m2 目录下的默认本地存储库文件夹到其他更有意义的名称,例如, maven-repo 找到 {M2_HOME}\conf\setting.xml, 更新 localRepository 到其它名称。
    执行之后,新的 Maven 本地存储库现在改为 D:/apache-maven-3.5.2/repo

Maven 中央仓库

概述

当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 repo1.maven.org/maven2/ 查找下载。

使用 MVNrepository 搜索:mvnrepository.com/

Maven 依赖机制

概述

在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级。让我们看一个案例研究,以了解它是如何工作的。假设你想使用 Log4j 作为项目的日志。这里你要做什么?

Maven POM

POM是Maven和项目之间的中间件。

基本结构:

<?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/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>com.bailiang</groupId>    <artifactId>hello-maven</artifactId>    <version>1.0.0-SNAPSHOT</version>    <packaging>war</packaging>        <dependecies>        <dependency>            <groupId>log4j</groupId>            <artifactId>log4j</artifectId>            <version>1.2.17</version>        </dependency>    </dependecies></project>

说明

节点描述groupId项目组的编号,在组织或项目中通常是唯一的,和Java包名命名规则相同artifactId项目的编号,通常是项目名称。定义了artifact在存储库中的位置version项目的版本号packaging项目发布时的打包方式,war或jar

Maven 插件

插件类型

Maven 提供以下两种类型插件:

类型描述

  • 构建插件在生成过程中执行,并在 pom.xml 中的 元素进行配置
  • 报告插件在网站生成期间执行,在 pom.xml 中的,元素进行配置

以下是一些常见的插件列表:

  • clean编译后的清理目标删除目标目录
  • compiler编译 Java 源文件
  • surefile运行JUnit单元测试,创建测试报告
  • jar从当前项目构建 JAR 文件
  • war从当前项目构建 WAR 文件
  • javadoc产生用于该项目的 Javadoc
  • antrun从构建所述的任何阶段运行一组 Ant 任务

Maven 快照

说明

快照版:必须使用 X.Y.Z-SNAPSHOT的格式,如果依赖的是快照版,则刷新Maven时,会自动下载最新的代码;如果没有-SNAPSHOT,而是任何其他字符,都是发行版,发行版需要手动修改版本号来加载最新代码。

语义化版本规范: a.b.c

  • c 每修复一个bug,数值增1
  • b 功能每增加、删除、修改一个,数值增1
  • a 工程的架构发生重大变化,比如核心库更换、核心功能重写等,数值增1

如果想要快照版自动更新最新代码,必须设置Maven的Always update snapshots,如下图

Maven 常用命令

本章节只提供 Maven 使用时的一些基本命令

清除产生的项目

  • mvn clean

编译源代码

  • mvn compile

打包

  • mvn package

只打包不测试(跳过测试)

  • mvn -dmaven.test.skip=true

安装到本地仓库

  • mvn install

源码打包

  • mvn source:jar 或 mvn source:jar-no-fork

web项目的目录结构

{myproject}---->[src]    |--->[main]        |--->[java] 存放所有源码            |--->各个package        |--->[resources] 存放资源文件,如xml配置文件            |--->spring-context.xml             |--->spring-mvc.xml            |--->其他配置文件        |--->[webapp] 存放web文件,如jsp            |--->[WEB-INF]                |--->web.xml web配置文件            |--->index.jsp 首页    |--->[test]        |--->[java] 测试---->pom.xml Maven项目配置文件
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部