本文介绍Maven中重要的Coordinates坐标/Repository/Lifecyle/plugin相关概念,并用一个简单的demo来看一下maven是如何动作的。
Maven GAV坐标(Cooridinates)
Maven坐标是用唯一标示我们的某一构件的,它主要由GroupId/ArtifactId/Version三点构成。
项目 | 解释 |
---|---|
Group ID | 组织机构/顶层项目 |
ArtifactID | 项目/库 |
Version | 唯一发行版本号 |
Repository
Maven有Local Repository和Remote Repository。本地仓库,在第一次执行maven命令时才会被创建。它可以通过修改settings.xml文件中的localRepository进行设定。
个体用户下.m2/的settings.xml设定范围影响此用户,而Maven的conf/settings.xml则影响所有用户。
而Remote Repository有分成如下三种
项目 | 解释 |
---|---|
中央仓库 | 默认的远程仓库 |
私库 | 由于内网/速度/特定版本需求/第三方组件管理等特定需求,自行架设的仓库。一般使用Nexus/Artifactory等创建 |
其它公共库 | 默认的中央仓库以外的其它公共库 |
如下是经常用到的缺省中央仓库的检索URL
Lifecycle
在理解Lifecycle之前需要先行理解Phase的概念,Maven相关的Phase非常的多。Phase将构建中可能的动作抽象出来而形成,从重要的编译/测试到拷贝资源文件这样极小的一个处理动作。比如常见的Phase有如下之多。
非常复杂和繁琐,不同的Lifecycle可以不同的Phase组合而成,加剧了复杂化。Maven的引入是为了方便构建,所以对于大部分都很简单的需求,约定优于配置的思想再次发挥了强大的作用。
比如在这里,Maven的缺省内建了三个Lifecyle:clean/default/site。最为常用的default,在上图中标出的内容极为其所含括的Phase。
创建一个简单的pom工程
[root@liumiaocn ~]# mvn archetype:generate
[INFO] Scanning for projects…
[INFO]
[INFO] ————————————————————————
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ————————————————————————
[INFO]
[INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.4:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO] — maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom —
[INFO] Generating project in Interactive mode
…
1750: remote -> us.fatehi:schemacrawler-archetype-plugin-lint (-)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 909: 此处输入90
今天的文章Maven基础(2):GAV坐标/Repository/Lifecycle/plugin「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/87134.html