maven 笔记 - 仓库

定义: 仓库用来统一存储所有Maven共享构建的位置就是仓库。根据Maven坐标定义每个构建在仓库中唯一存储路径大致为:groupId/artifactId/version/artifactId-version.packaging

仓库的分类

Ø 本地仓库

默认在~/.m2/repository,如果在用户配置中有配置,则以用户配置的地址为准

Ø 远程仓库

n 中央仓库(不包含有版本的jar包)

http://repo1.maven.org/maven2

n 私服


 Maven私服

安装Nexus

为所有来自中央仓库的构建安装提供本地缓存。

下载网站:http://nexus.sonatype.org/

 

安装版本:nexus-2.7.0-06.war


 第一步:安装tomcat


第二步:将nexuswar包拷贝到tomcatwebapps


第三步:启动tomcat后对对nexus-2.7.0-06.war解压安装,最后安装地址:c:/users/mainname下的sonatype-work



============索引文件夹结构



=============依赖存储文件夹结构





输入地址:localhost8080/nexus-2.7.0-06/index.html 既可以打开nexus站点(默认账号:admin   密码:admin123)

ps:如果出现 Warning: Could not connect to Nexus 


可能是nexus限定的jdk版本和本地jdk版本不兼容,尝试修改jdk版本(当前兼容的jdk版本是1.7)


Nexus的仓库和仓库组


仓库有4种类型 :

  group(仓库组):一组仓库的集合

  hosted(宿主):配置第三方仓库(包括公司内部私服和其他第三方公司的私服)

===================================用的很少======================================

  proxy(代理):私服会对中央仓库进行代理,用户连接私服,私服自动去中央仓库下载jar包或者插件

  virtual(虚拟):兼容Maven1 版本的jar或者插件

 

Nexus的仓库和仓库组介绍:

  3rd party: 一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构建

  Apache Snapshots: 一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构建

  Central: 代理Maven中央仓库

  Central M1 shadow: 代理Maven1 版本中央仓库

  Codehaus Snapshots: 一个策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的快照版本构件

  Releases: 一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件

  Snapshots: 一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件

  PublicRepositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务


配置所有构建均从私服下载

在本地仓库的setting.xml中配置如下:

<mirrors>

          <mirror>

                    <!--此处配置所有的构建均从私有仓库中下载 *代表所有,也可以写central -->

                    <id>nexus</id>

                    <mirrorOf>*</mirrorOf>

                    <url>http://localhost:8080/nexus-2.7.0-06/content/groups/public/</url>

          </mirror>

 </mirrors>

 




以后所有的依赖均从私服下载


部署构建到Nexus

第一步:Nexus的访问权限控制

在本地仓库的setting.xml中配置如下:

         <server>

                  <id>releases</id>

                   <username>admin</username>

                   <password>admin123</password>

         </server>

         <server>

                   <id>snapshots</id>

                   <username>admin</username>

                   <password>admin123</password>

         </server>


第二步:配置pom文件

在需要构建的项目中修改pom文件

<distributionManagement>

       <repository>

           <id>releases</id>

           <name>Internal Releases</name>

           <url>http://localhost:8080/nexus-2.7.0-06/content/repositories/releases/</url>

       </repository>

       <snapshotRepository>

           <id>snapshots</id>

           <name>Internal Snapshots</name>

           <url>http://localhost:8080/nexus-2.7.0-06/content/repositories/snapshots/</url>

       </snapshotRepository>

    </ distributionManagement >


第三步:执行maven的deploy命令 
ps: 默认是snapshot,需要指定时在需要发布的项目的GAV中的V指定,比如:0.0.1-SNAPSHOT发布到快照版本,0.0.1-RELEASE发布到正式版本



在nexus的Release和Snapshot里就能看到了


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值