项目管理工具——Maven学习笔记(五、Maven中的坐标和仓库)

Maven为所有的项目在pom引入了坐标,基于坐标机制可以唯一定位一个项目

构件:在Maven中,任何依赖(jar包,tomcat等),或项目(自己打包的jar,war等)输出都可成为构件。每个构件都有自己的唯一标识(唯一坐标),由groupId,artifactId,和version等信息构成,由此,Maven就可以对构件进行版本控制,管理。

根据前几篇的学习,坐标包括哪些要素,已经呼之欲出了。

<groupId>公司网址反写.项目名</groupId>
<artifactId>项目名-模块名</artifactId>
<version>大版本.分支版本.小版本号+版本类型</version>
<packaging>打包方式</packaging>
  1. groupid: 定义当前Maven项目所属的实际项目。因为很多时候,一个实际的项目很可能有多个模块组成,例如org.springframework项目就有spring-core、spring-beans、spring-context等模块。
  2. artifactId: 定义当前Maven项目在所属实际项目中的具体模块名称。如spring-core为该具体模块的名称。
  3. version: 定义Maven项目当前的版本。
  4. packaging: 打包方式,包括jar、war、pom等。
  5. classifier: 定义构建输出的一些附属构建。例如,我们生成了一个构建a.jar,我们希望在构建的时候也能生成一个与a.jar对应的其源码jar包,为a-sources.jar。则a-sources.jar即为附属构建,sources就是该附属构建的classifier。需要注意的是:不能在项目中直接定义classifier,因为附属构建不是默认生成的,需要附加的插件才能生成。请参考: Maven中maven-source-plugin,maven-javadoc-plugin插件的使用

下面呢,继续学习Maven仓库,Maven仓库分为本地仓库、中央仓库和镜像仓库。本地仓库就是我们电脑上的仓库,中央仓库是Maven全球中心仓库,镜像仓库则为内容和中央仓库一样的另一个好像镜子似的仓库。
我相信,有很多小伙伴用Maven的中央仓库,下载依赖的jar包很慢,那么,该怎么办呢?放心,镜像仓库会帮助我们解决这个问题。

  1. 找到maven路径中的【conf】文件夹,有个settings.xml文件,打开找到<mirrors></mirrors>标签,在里边添加
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>   

这样,阿里云镜像就配置好了,以后下载任何jar包都会很快了~

  1. 接下来,假如我们想把本地仓库路径修改到别的盘呢?因为maven默认的仓库路径是C盘,一旦重装系统,C盘的东西就没了,所以相对来说,把仓库安放在别的磁盘上更好。
    还是settings.xml文件,找到【<localRepository>/path/to/local/repo</localRepository>】这一行,复制放在不是注释的行里,并将标签内容改成其他磁盘的路径。例如:
Paste_Image.png

然后验证是否ok,打开cmd窗口随便切换一个之前测试的demo,进行clean掉target目录,并compile这个demo。
稍等一两秒,cmd里显示BUILD SUCCESS之后,我们找到新仓库文件夹:


Paste_Image.png

好了,我们更改后的新仓库成功了!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • |-1-更新内容[6.从仓库解析依赖的机制(重要)] 1Maven仓库作用 仓库用来存储所有项目使用到构件,在ma...
    zlcook阅读 6,166评论 0 25
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,970评论 6 342
  • 需求背景 maven的一大功能时管理项目依赖,为了自动化解析任何一个java构件,Maven就必须将它们唯一标识,...
    zlcook阅读 974评论 0 2
  • maven坐标 maven的构件(jar包)是根据坐标来确定其在仓库的保存位置的。maven的坐标是通过以下元素来...
    Joepis阅读 568评论 0 4