云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Maven课程3

Maven课程3

  • 62 次阅读
  • 3 次下载
  • 2025/6/1 18:51:58

课程3 pom.xml编写(仓库配置、插件管理及依赖管理)

上节课我们已经讲了pom.xml的大部分配置元素。本节课内容:(8个配置) 1.Maven的仓库配置 2.Maven的插件管理 3.Maven的依赖管理

一、Maven的仓库配置

发布版本部署仓库配置:

快照版本部署仓库配置: 远程仓库配置:

(1)发布版本和快照版本仓库配置(私服地址:http://10.108.4.118:8081/nexus/)

Maven除了能对项目进行编译、测试、打包之外,还能将项目生成的构件部署到仓库中。私服的一大作用是部署第三方构件,包括组织内部生成的构件以及一些无法从外部仓库直接获取的构件。将这些构件部署到仓库中,供其他团队成员使用。distributionManagement包含repository和snapshotRepository子元素,前者表示发布版本构件的仓库,后者表示快照版本的仓库。这两个元素下都需要配置id、name和url,id为该远程仓库的唯一标识,name是为了方便人阅读,关键的url表示该仓库的地址。可以为这两类仓库配置远程仓库认证,在settings.xml中配置(上节课内容)。 < distributionManagement> < repository>

< id> csot-releases < name> csot-releases

< url> http://10.108.4.118:8081/nexus/content/repositories/fts-releases/

< snapshotRepository>

< id> csot-snapshots < name> csot-snapshots

< url> http://10.108.4.118:8081/nexus/content/repositories/fts-snapshots/

(2)远程仓库配置

在repositories元素下,可以使用repository子元素声明一个或者多个远程仓库。任何一个仓库声明的id必须是唯一的,尤其需要注意的是,Maven自带的中央仓库使用的id为central,如果其他的仓库声明也使用该id,就会覆盖中央仓库的配置。该配置中的url值指向了仓库的地址。一般来说,该地址都基于http协议,可以在浏览器中打开仓库地址浏览构件。

元素的子元素releases(发布版本)和snapshots(快照版本)元素比较重要,他们用来控制Maven对于发布版构件和快照版构件的下载。releases和snapshots元素的子元素的值为true表示开启下载支持,false表示关闭下载支持。

对于releases和snapshots元素,除了enabled,它们还包含另外两个子元素updatePolicy和checksumPolicy。元素updatePolicy用来配置Maven从远程仓库检查更新的频率,默认的值为daily,每天检查一次。其他可用的值包括:nerver---从不检查更新;always---每次构件都检查更新;interval:X---每隔X分钟检查一次更新(X为任意整数)。元素checksumPolicy用来配置Maven检查校验和文件的策略。当构件被部署到Maven仓库中时,会同时部署对应的校验和文件。在下载构件的时候,Maven会验证校验和文件。如果校验和验证失败,怎么办?当checksumPolicy的值为默认的warn时,Maven会在执行构建时输出警告信息,其他可用的值包括:fail----Maven遇到校验和错误就让构件失败;ignore---使Maven完全忽略校验和错误。

对于Maven来说,同样的版本和同样的坐标就意味着同样的构件。对于版本相同坐标相同的构件,Maven就不会再对照远程仓库进行更新,除非每次执行Maven命令之前,手动清除本地仓库。

< repositories> < repository>

< id> csot-releases

< url> http://10.108.4.118:8081/nexus/content/groups/public/

< releases>

< enabled> true < snapshots>

< enabled> false

二、Maven的插件管理

插件配置: 插件管理配置:

插件仓库配置:

(1)生命周期与插件的关系(第7章P113)

Maven核心的几个概念有:坐标、依赖、仓库、生命周期和插件。生命周期和插件是Maven插件管理的两个重要概念。生命周期第一节课的时候讲过,不记得的可以翻阅之前的课件。 在Maven的日常使用中,命令行输入的mvn命令往往就对应了生命周期,如mvn package就表示执行默认生命周期阶段package。Maven的生命周期是抽象出来的,为了对所有的构建过程进行抽象和统一。生命周期本身不做任何实际的工作,实际的任务(如编译源代码)都由插件来完成。如package阶段的任务可能就会有maven-jar-plugin完成。生命周期和插件两者协同工作,密不可分。

build定义了整个构建的过程,(依次初始化、编译、测试、打包、集成测试和部署)。 生命周期抽象了构建的各个步骤,定义了它们的次序,但没有提供具体实现。Maven设计了插件机制。Maven的生命周期与插件相互绑定,具体而言,是生命周期的阶段与插件的目标相互绑定,用以完成某个具体的构建任务。每个构建步骤都可以绑定一个或者多个插件行为(插件目标),而且Maven为大多数构建步骤编写并绑定了默认插件(这个叫内置绑定)。(在大多数时间里,用户几乎都不会觉察到插件的存在。当用户有特殊需要的时候,也可以配置插件定制构建行为(自定义绑定),甚至自己编写插件。)插件机制提供了足够的扩展空间,当用户有特殊需要的时候,用户可以通过配置现有插件或者自行编写插件来自定义构建行为(自定义绑定)。

(2)插件目标(7.3 P118)

插件以独立的构件形式存在。将众多功能聚集在一个插件里,每个功能就是一个插件目标,即每个目标对应了一个功能。例如maven-dependency-plugin插件(5.9.3 优化依赖 P90),它包含mvndependency:list,mvndependency:tree,mvndependency:analyze等插件目标。

(3)插件绑定

a.内置插件绑定:Maven核心为一些主要的生命周期阶段绑定了很多插件的目标,当用户通过命令行调用生命周期阶段的时候,对应的插件目标就会执行相应的任务。

b.自定义插件绑定:除了内置绑定以外,用户还能够自己选择将某个插件目标绑定到生命周期的某个阶段上。例如,创建项目的源码jar包,内置的插件绑定关系中并没有涉及这一任务,因此需要用户自行配置。maven-source-plugin可以帮助我们完成该任务,它的jar-no-fork目标能够将项目的主代码打包成jar文件,可以将其绑定到default生命周期的verify阶段上,在执行完集成测试后和安装构件之前创建源码jar包。

搜索更多关于: Maven课程3 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

课程3 pom.xml编写(仓库配置、插件管理及依赖管理) 上节课我们已经讲了pom.xml的大部分配置元素。本节课内容:(8个配置) 1.Maven的仓库配置 2.Maven的插件管理 3.Maven的依赖管理 一、Maven的仓库配置 发布版本部署仓库配置: 快照版本部署仓库配置: 远程仓库配置: (1)发布版本和快照版本仓库配置(私服地址:http://10.108.4.118:8081/nexus/)

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com