nexus搭建和maven某些配置的理解

引言

最近突然想自己搭建个maven私服nexus,然后就动手搭了一遍。这个过程中自己对maven的一些配置有新的理解。学习嘛,有个输出会更加深印象吧,所以想把自己搭建nexus和一些新的理解记录下来,也可以供自己以后复习。

一 nexus搭建

参考文章:https://www.jianshu.com/p/1cfbc1518fce

1环境准备,这里不详细说了,会java的这些都是基础了。

centos7,jdk1.8,nexus-3.9.0-01-unix.tar.gz

Nexus官网下载压缩包巨慢,经常下载不了

这里提供一个网上的网盘下载地址:https://pan.baidu.com/s/1LjwzEax71H6emkUL3uZRcw

2 解压缩

tar -zxvf  nexus-3.9.0-01-unix.tar.gz

3 进入bin目录



4 运行


注意:如果你的系统可用内存不够会报错,此时可用修改nexus启动内存

默认是1200M,我这里修改成了512M,但不能过小,过小的话启动时还是会内存不够

我最开始修改成128M,就启动不起来。



5 检查是否成功

访问Ip:8081,注意系统的8081端口开放。8081端口是默认端口,也可以修改


进行登录,有个默认用户:admin/admin123



二 nexus简单看看


Nexus默认就有这些maven仓库了

首先说些仓库类型

Proxy:代理库,这就是个远程参考,例如:maven-central这个仓库就是代理的maven的中央仓库。

Hosted:本地库,就是nexus机器上的本地仓库。我们自己的jar可以上传到这里。

Group:组,好几个仓库可以归为一组,能够包含 proxy,hosted仓库。


Jar下载流程: 先本地maven库,再私服group仓库,group仓库规则:先hosted本地库,再proxy远程库。

三 nexus仓库新增

我们可以新增一个proxy库,连个hosted库(一个release,一个snapshot),一个group仓库把这些新增的库都包含进去。

1 proxy库,我们新增一个aliyun的maven代理仓库

http://maven.aliyun.com/nexus/content/groups/public/




然后点击创建就可以了

2 创建hosted库,顺序一样,记得选择 maven2(hosted)




3 创建group仓库,选择maven2(group)


我们maven链接group仓库时,group仓库 会先从 hosted类型的仓库逐一查找,没找到 在从proxy类型的仓库中逐一查找。

四 使用私服

Settings.xml文件中配置 私服镜像


Url我们一般配置成 group仓库的地址, 在nexus上可以找到



五 项目直接deploy到私服上去

1 项目中的pom进行配置

<distributionManagement>    <repository>        <id>my-release</id>        <name>Nexus Release Repository</name>        <url>http://xx.xx.xx.xx:8081/repository/mys-release/</url>    </repository>    <snapshotRepository>        <id>my-snapshot</id>        <name>Nexus Snapshot Repository</name>        <url>http://xx.xx.xx.xx:8081/repository/my-snapshot/</url>    </snapshotRepository></distributionManagement>



2 hosted仓库的 deployment policy 要改成allow redeploy



3 settings.xml中配置用户名密码

注意:pom中配置的repository的id 和这里的id要对应一样

  <servers>

    <server>  

        <id>my-release</id>  

        <username>admin</username>  

        <password>admin123</password>  

    </server>  

    <server>  

        <id>my-snapshot</id>  

        <username>admin</username>  

        <password>admin123</password>  

    </server>

  </servers>


上面三步配置完成后,可以在idea中双击maven的生命周期中的deploy


成功后再nexus的 相关仓库中就可以看到相关的jar包了



六 deploy后 进行maven依赖

直接在pom中进行dependency依赖就可以了。把项目的坐标依赖过去


注意了,这时你可能还是依赖不成功。

为什么呢?因为默认不能从从snapshot仓库中下载依赖的。此时你要开启这个功能

可以在settings.xml中进行配置,项目中也可以,但xml中配置了 所有的项目都可以用了。


<profiles>

  <profile>

     <id>mycof</id>

        <repositories>


          <repository>

          <id>nexus</id>

          <url>http://ip:8081/repository/my-public/</url>

          <releases>

            <enabled>true</enabled>

          </releases>

          <snapshots>

            <enabled>true</enabled>

          </snapshots>

        </repository>

      </repositories>      

      <pluginRepositories>


        <pluginRepository>

          <id>nexus</id>

          <url>http://ip:8081/repository/my-public/</url>

          <releases>

            <enabled>true</enabled>

          </releases>

          <snapshots>

            <enabled>true</enabled>

           </snapshots>

        </pluginRepository>

      </pluginRepositories>

    </profile>

</profiles>


<activeProfiles>

  <activeProfile>mycof</activeProfile>

</activeProfiles>

 

此时就可以正常从snapshot库中下载依赖了


七 第三方jar包直接通过nexus页面上传



上传后去相应仓库中查看


这样就成功了

在项目中就可以正常依赖了


到此nexus的搭建和使用告一段落了,日常的使用就足够了。


接下来讨论下我在搭建使用过程中的一个疑问吧。

有没有发现settings.xml中 mirro和repository同时配置了

我当时就疑问了,这两者有啥区别呢?

参考文章:https://my.oschina.net/sunchp/blog/100634

1 mirro相当于是个拦截器

比如我们配置访问a仓库 ,但是经过它的拦截 会访问到它指向的仓库

2 repository就是配置我们maven要访问的仓库。

如果没有配置默认是中央仓库


所以如果我们在repository中直接配置我们的nexus仓库,那mirro就可以不用配置了。

今天的学习就到这了,下次见!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容