创建maven私有仓库

  1. 前言

    当团队的项目中需要依赖自行开发的公共包时,第一种方法是可以直接手动复制到相应的maven本地仓库路径上,但是这种方式往往相率是最低的。那可不可以把这个公共包上传到大家都能访问的服务器上?那这种场景就是和搭建一个私有仓库了。

  2. 搭建Nexus

    • 下载

    官方下载地址:https://help.sonatype.com/repomanager3/product-information/download
    Windows下载zip包即可,下载完成之后解压,进入到bin目录,执行 nexus.exe/run 启动Nexus
    1693834152188-026644e8-cd95-43d8-b648-6fb82e3fac0f
    访问 localhost:8081/ ,若想修改启动端口等参数,可以修改etc/nexus-default.properties 文件
    首先需要输入账号密码, 账号admin,密码在 sonatype-work/nexus3 目录的admin.password文件查看,登录进去修改密码即可。

    • Nexus仓库说明

    image.png

    maven-central:maven中央库,当本地库、远程库没有的jar包,会去这里下载,一般国内需要配置阿里云镜像地址 http://maven.aliyun.com/nexus/content/groups/public/
    maven-releases:私有库发行版的jar包仓库,就是线上正式使用的
    maven-snapshots:私有库开发版的jar宝仓库,一般开发中使用的
    maven-public:在本地settings.xml文件需要配置的地址

    三种类型:proxy、group、hosted
    proxy:访问Maven中央仓库的代理配置,用于去配置的maven中央仓库找jar包
    hosted:一般我们的私有jar包会保存到此类型的仓库中
    group:可以通过此类型的地址,访问我们设置的私有仓库

    • 尝试创建仓库

    创建 proxy类型的仓库,用于去中央仓库下载jar包
    image.png
    image.png

    输入仓库的名字,以及maven中央仓库地址,这里我们使用阿里云中央仓库镜像地址
    http://maven.aliyun.com/nexus/content/groups/public/,点击保存
    image.png

    创建 hosted类型的仓库,保存从maven中央仓库,以及项目分发的jar包
    image.png
    image.png

    创建group类型仓库,用来访问仓库
    image.png
    image.png

  3. 修改配置

    修改maven的配置文件,来连接我们创建的私有仓库
    打开settings.xml文件,通过修改mirror方式(也可以通过profiles标签)连接我们的仓库,url是创建的group类型的仓库地址,通过页面的copy按钮可以获取到

    1
    2
    3
    4
    5
    6
    7
    8
    <mirrors>
    <mirror>
    <id>my-nexus</id>
    <name>my maven</name>
    <url>http://localhost:8081/repository/my-nexus-group/</url>
    <mirrorOf>central</mirrorOf>
    </mirror>
    </mirrors>

    由于我们禁止了匿名访问,所以需要进行用户名密码效验,继续我们的settings.xml文件配置。添加server标签,其中serverid值为mirror标签的id的值必须要一致。

    1
    2
    3
    4
    5
    6
    7
    <servers>
    <server>
    <id>my-nexus</id>
    <username>admin</username>
    <password>{C6AEw87GlPMHdFlKvl1HlU9vnEa2MfB5Vb/BebiO3mQ=}</password>
    </server>
    </servers>

    一般情况下,项目中是不允许明文密码出现,所以我们需要借助maven生成加盐密码。
    1.mvn –encrypt-master-password “加盐值”
    2.将上面命令生成的值放到 当前登录用户名.m2\settings-security.xml 中

    1
    2
    3
    4
    <settingsSecurity>
    <!--生成的加到这里,没有文件创建一下就是,这个就是文件的所有内容-->
    <master>{2yB41Sc3/uUHseN39zLQB+14crvBhxsQRaXWgOTjdy8=}</master>
    </settingsSecurity>

    3.mvn –encrypt-password “需要加密的密码”,此命令生成的密码,就是server标签的password值。

  4. 启动测试

    使用 maven clean install命令测试,出现以下日志就代表自己搭建成功咯
    image.png

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信