您的位置:首页 > 其它

maven-基本名词解释

2018-01-12 12:19 507 查看
简介

Maven是一个软件项目管理和综合工具。基于项目对象模型(POM),可从一个中心资料片管理项目构建,报告和文件

Maven提供了开发人员构建一个完整的生命周期框架

在多个开发环境时,Maven可以设置按标准在非常短的时间里完成配置工作

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

Maven主要目标:

项目是可重复使用,易维护,更容易理解的一个综合模型。

插件或交互的工具,这种声明性的模式。

Maven项目的结构和内容在一个XML文件中声明,pom.xml 项目对象模型(POM),这是整个Maven系统的基本单元

安装配置

Maven启用代理访问

在公司有防火墙,并使用HTTP代理服务器阻止连接,Maven无法下载依赖时使用此项

Maven本地资源库

Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹

当你建立一个Maven项目,所有相关文件将被存储在你的Maven本地仓库

//找到conf\setting.xml, 更新 localRepository 到其它名称

<localRepository>E:\maven\maven-repository</localRepository>

//然后执行,会自动下载初试依赖库
C:\worksp> mvn archetype:generate -DgroupId=com.test -DartifactId=NumberGenerator -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false


Maven中央存储库

当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载

首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到

然后把它会从默认的 Maven 中央存储库 – http://repo1.maven.org/maven2/ 查找下载

如何从Maven远程存储库下载?

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

//示例 pom.xml
<dependency>
<groupId>org.jvnet.localizer</groupId>
<artifactId>localizer</artifactId>
<version>1.8</version>
</dependency>
//建立这个 Maven 项目,它将依赖找不到失败并输出错误消息

//声明Java.net储存库
//告诉 Maven 来获得 Java.net 的依赖,需要声明远程仓库
<repositories>
<repository>
<id>java.net</id>
<url>https://maven.java.net/content/repositories/public/</url>
</repository>
</repositories>


Maven查询顺序,

本地资源搜索,没有,进入中央,否则退出

中央存储库

java.net Maven的远程存储库(上面设置的仓库依赖)

添加远程仓库

默认,Maven从中央仓库下载依赖关系。但是,有些库在中央存储库丢失,只有在Java.net或JBoss的储存库远程仓库中找到

//声明Java.net储存库
//声明远程仓库,pom.xml
<repositories>
<repository>
<id>java.net</id>
<url>https://maven.java.net/content/repositories/public/</url>
</repository>
</repositories>


依赖机制

Maven 依赖机制会自动下载所有必需的依赖库,并保持版本升级

案例分析

假设使用 Log4j 作为项目的日志。这里要做什么?

传统方式

访问 http://logging.apache.org/log4j/

下载 Log4 j的 jar 库

复制 jar 到项目类路径

手动将其包含到项目的依赖

所有的管理需要一切由自己做

如果有 Log4j 版本升级,则需要重复上述步骤一次

Maven的方式

需要知道 log4j 的 Maven 坐标

<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
//它会自动下载 log4j 的1.2.14 版本库。如果“version”标签被忽略,它会自动升级库时当有新的版本时


//声明 Maven 的坐标转换成 pom.xml 文件
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
</
b59f
dependencies>


当 Maven 编译或构建,log4j 的 jar 会自动下载,并把它放到 Maven 本地存储库

所有由 Maven 管理

当建立一个Maven项目时,pom.xml文件会被解析,看到 log4j 的 Maven 坐标。按Maven查询顺序检索

如何找到 Maven 坐标?

访问 Maven 中心储存库,搜索下载您想要的jar

定制库到Maven本地资源库

需要手动发出Maven命令下载一个 jar 到 Maven 的本地资源库。在下面的情况需要这样

要使用的 jar 不存在于 Maven 的中心储存库中。

您创建了一个自定义的 jar ,而另一个 Maven 项目需要使用

如果中心库有该依赖包,则可以直接在pom.xml中添加依赖

还是有很多 jar 不支持 Maven 的

//安装 “kaptcha”(生成 “验证码” 的图片) jar 到Maven 的本地资源库
//下载 “kaptcha”,将其解压缩并将 其复制到其他地方
//发布到本地资源库
mvn install:install-file -Dfile=E:\kaptcha\kaptcha-2.3.2.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion=2.3.2 -Dpackaging=jar
//-Dfile=path

//然后再pom.xml中声明 kaptcha 的坐标

//构建它,kaptcha 就能从你的本地检索
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  项目管理 maven