美文网首页Java
项目管理工具maven

项目管理工具maven

作者: 盗梦者_56f2 | 来源:发表于2019-03-30 17:27 被阅读0次

介绍

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。

安装

  1. 安装jdk
  2. 安装maven
  3. 配置环境变量

仓库

Maven 仓库能帮助我们管理构件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。
Maven 仓库有三种类型:

  1. 本地资源库
    Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹。很简单,当你建立一个Maven项目,所有相关文件将被存储在你的Maven本地仓库。默认情况下,Maven的本地资源库默认为 .m2 目录文件夹。通常情况下,可改变默认的 .m2 目录下的默认本地存储库文件夹到其他更有意义的名称。
  2. 中央存储库
    当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 – https://search.maven.org/查找下载。
  3. 远程存储库
    在Maven中,当你声明的库不存在于本地存储库中,也不存在于Maven中心储存库,该过程将停止并将错误消息输出到 Maven 控制台。它是开发人员自己定制仓库,包含了所需要的代码库或者其他工程中用到的 jar 文件。
    你需要声明远程仓库在 pom.xml 文件这样:
    e.g. 声明Java.net储存库
<repositories>
    <repository>
        <id>java.net</id>
        <url>https://maven.java.net/content/repositories/public/</url>
    </repository>
</repositories>

现在,Maven的依赖库查询顺序更改为:

  1. 在 Maven 本地资源库中搜索,如果没有找到,进入第 2 步,否则退出。
  2. 在 Maven 中央存储库搜索,如果没有找到,进入第 3 步,否则退出。
  3. 在java.net Maven的远程存储库搜索,如果没有找到,提示错误信息,否则退出

坐标

e.g.

<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
    </dependency>
</dependencies>

当 Maven 编译或构建,log4j 的 jar 会自动下载,并把它放到 Maven 本地存储库,所有由 Maven 管理。
访问 Maven 中心储存库,搜索下载您想要的jar,找到 Maven 坐标。

生命周期

Maven 有以下三个标准的生命周期:

#1. 项目清理的处理
mvn clean #删除target目录
#2. 项目构建(build)的处理
mvn compile  #编译该项目的源代码
mvn test #运行测试使用合适的单元测试框架(JUnit)
mvn package #提取编译后的代码,并在其分发格式打包,如JAR,WAR或EAR文件
mvn install #将包安装到本地存储库,它可以用作当地其他项目的依赖
mvn deploy #复制最终的包到远程仓库与其他开发者和项目共享
#3. 项目站点文档创建的处理
mvn site #生成项目的站点文档

当一个阶段通过 Maven 命令调用时,例如 mvn compile,只有该阶段之前以及包括该阶段在内的所有阶段会被执行。
每个生命周期中都包含着一系列的阶段(phase)。这些 phase 就相当于 Maven 提供的统一的接口,然后这些 phase 的实现由 Maven 的插件来完成。
我们在输入 mvn 命令的时候 比如 mvn clean,clean 对应的就是 Clean 生命周期中的 clean 阶段。但是 clean 的具体操作是由 maven-clean-plugin 来实现的。
所以说 Maven 生命周期的每一个阶段的具体实现都是由 Maven 插件实现的

POM

POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。
e.g.

<properties>
        <jdk.version>1.8</jdk.version>
        <junit.version>4.11</junit.version>
        <jstl.version>1.2</jstl.version>
</properties>
<dependencies>
        <!--单元测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <!--日志类型-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${jcl-over-slf4j.version}</version>
        </dependency>
</dependencies>
<build>
      <plugins>
        <!--添加编译器插件来告诉 Maven 使用哪个 JDK 版本是用来编译项目-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>${jdk.version}</source>
                <target>${jdk.version}</target>
            </configuration>
        </plugin>
      </plugins>
</build>

构建Java项目

要创建一个简单的 Java 应用,我们将使用 maven-archetype-quickstart 插件。
在下面的例子中,我们将在 C:\MVN 文件夹下创建一个基于 maven 的 java 应用项目。
命令格式如下:

mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

参数说明:

  • -DgourpId: 组织名,公司网址的反写 + 项目名称
  • -DartifactId: 项目名-模块名
  • -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart,创建一个简单的 Java 应用
  • -DinteractiveMode: 是否使用交互模式

相关文章

  • Maven 聚合工程

    Maven 基础知识 Maven 介绍 Maven 是一个项目管理工具,主要作用是在项目开发阶段对 Java 项目...

  • maven-compiler-plugin 插件详解

    转载:Maven 教程 — maven-compiler-plugin 插件详解 maven是个项目管理工具,如果...

  • Maven项目管理工具知识 day01

    一、Maven 介绍 1.1 Maven概述 1.1.1 什么是Maven? Maven 是一个项目管理工具,它包...

  • Maven你必须要知道的知识

    Maven基础知识: Maven是一个项目管理工具 依赖管理:Maven对项目jar的管理过程(传统项目中jar是...

  • Maven配置(pom.xml)

    Maven 教程Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。 1. maven中的坐...

  • maven仓库简介

    1. 什么是Maven Maven是一个基于项目对象模型(POM)的项目管理工具。所有的Maven项目都会包含一个...

  • maven下载、配置和安装

    Maven简介 简略来说,Maven是项目管理工具。 下载 最新版本:http://maven.apache.or...

  • maven工具的介绍

    一、maven的概述 1、什么是maven   maven是一个项目管理工具,包含项目管理,插件以及目标的逻辑等。...

  • 一、maven简介及安装

    1、maven简介 1.1、maven的定义 Maven 是一个项目管理工具,它包含了一个项目对象模型(Proje...

  • jsp课堂分享|在idea中构建tomcat+maven web

    maven:Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),...

网友评论

    本文标题:项目管理工具maven

    本文链接:https://www.haomeiwen.com/subject/qzolbqtx.html