前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Maven知识点总结

Maven知识点总结

作者头像
SuperHeroes
发布2019-03-12 14:50:48
9370
发布2019-03-12 14:50:48
举报
文章被收录于专栏:云霄雨霁云霄雨霁

1、Maven简介

Apache Maven是一个软件项目管理工具。基于项目对象模型(POM)的概念,可以通过一小段描述信息来管理项目的构建、报告和文档。

概括地说,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。

2、Maven资源库

2.1 Maven本地资源库

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

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

  • Unix/Mac OS X 系统下: ~/.m2
  • Windows 系统下: C:\Documents and Settings\{your-username}\.m2

2.2、Maven中央存储库

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

代码语言:javascript
复制
<dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
    </dependency>
</dependencies>

现在中央存储库被重定向到了 http://search.maven.org/ ,这里可以搜索相应的资源进行下载。

2.3、Maven远程存储库

在Maven中,当声明的库不存在于本地存储库中,也不存在于Maven中心储存库,该过程将停止并将错误消息输出到 Maven 控制台。

如果项目依赖的jar包等不在中央存储库而在某个远程存储库,需要在pom.xml中指定该库以告诉Maven去相应远程库中搜索。

代码语言:javascript
复制
<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的远程存储库搜索,如果没有找到,提示错误信息。

3、Maven POM

POM代表项目对象模型。它是 Maven 中工作的基本单位,这是一个 XML 文件。 部分可以在 POM 使用的配置如下:

  • project dependencies
  • plugins
  • goals
  • build profiles
  • project version
  • developers
  • mailing list

每个项目只有一个POM文件。

  • 所有的 POM 文件要项目元素必须有三个必填字段:groupId, artifactId, version
  • 在库中的项目符号是:groupId:artifactId:version
  • pom.xml 的根元素是project,它有三个主要的子节点。

节点

描述

groupId

这是项目组的编号,这在组织或项目中通常是独一无二的。

artifactId

这是项目的ID。这通常是项目的名称。

version

这是项目的版本。

示例:

代码语言:javascript
复制
<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.helloworld.project-group</groupId>
   <artifactId>project</artifactId>
   <version>1.0</version>
<project>

4、Maven依赖机制

我们知道,在传统方式下如果要引入一个jar包,过程是:

下载jar包 -> 将jar包复制到项目类路径下 -> 将其添加到项目依赖

使用Maven,只需要将需要的jar包配置到pom.xml中。当Maven编译或构建时相应的jar包会自动下载,并把它放到本地仓库。所有的jar包由Maven管理。

问:如何确定想要的jar包的groupId、artifactId和version? 答:mvnrepository.com 这个网站可以获取需要的jar包的配置。

5、Maven插件

Maven 是一个执行插件的框架,每一个任务实际上是由插件完成的。Maven 插件通常用于:

  • 创建 jar 文件
  • 创建 war 文件 
  • 编译代码文件
  • 进行代码单元测试
  • 创建项目文档
  • 创建项目报告

插件类型

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

类型

描述

构建插件

在生成过程中执行,并在 pom.xml 中的<build/> 元素进行配置

报告插件

在网站生成期间执行,在 pom.xml 中的 <reporting/> 元素进行配置

示例(在项目中引入Tomcat插件):

代码语言:javascript
复制
<plugins>
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <path>/</path>
        </configuration>
    </plugin>
</plugins>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/07/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Maven简介
  • 2、Maven资源库
    • 2.1 Maven本地资源库
      • 2.2、Maven中央存储库
        • 2.3、Maven远程存储库
        • 3、Maven POM
        • 4、Maven依赖机制
        • 5、Maven插件
          • 插件类型
          相关产品与服务
          项目管理
          CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档