12 搭建maven私服nexus

公司为了方便jar包的管理和自身项目jar包的分发,都会搭建一个maven私服。公司员工可以从该私服下载jar包,倘若私服上不存在某个jar包时,maven私服再去公网仓库下载,其实也起到了一个反向代理的作用。本文将阐述如何搭建maven私服nexus。

1、环境约束

  • win10
  • nexus-2.12.0-01
  • maven-3.0.5

2、前提约束

  • 已经部署maven-3.0.5
    假设作者maven路径是 C:\Program Files\maven-3.0.5
    假设作者的本地仓库位于C:\Users\zhangli.m2

2、操作步骤

2.1 搭建和启动nexus服务

  • 下载nexus
    nexus官网地址
    12 搭建maven私服nexus选择windows版本
    作者这边的版本是nexus-2.12.0-01
  • 解压,假设解压到文件夹D:/soft
    12 搭建maven私服nexus解压到D:/soft
  • 以管理员身份打开命令行,执行以下命令
# 进到D盘
D:
# 进入nexus解压目录
cd D:\soft\nexus-2.12.0-01\bin
# 安装nexus
nexus.bat install
# 启动nexus
nexus.bat start
  • 查看操作系统服务
    12 搭建maven私服nexusnexus web正在运行
  • 访问http://localhost:8081/nexus/
    ![nexus首页](https://upload-images.jianshu.io/upload_images/16204070-7407bea38424c3ed.png?imageMogr2/auto-orient/strip%7CimageView2
    /2/w/1240)
  • 登录
    12 搭建maven私服nexus点击Login
    12 搭建maven私服nexus输入默认账号与密码

2.2 上传jar包到私服

  • 修改C:\Users\zhangli.m2\settings.xml,在servers节点下增加nexus server配置
* 将Apache SnapShots与其他节点加为同一组
![图片.png](https://upload-images.jianshu.io/upload_images/16204070-4b4d1f0cd59e301f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    <server>
        <id>releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>   

12 搭建maven私服nexus图片.png

  • 创建一个maven项目,名称为nexusdemo
    https://www.jianshu.com/p/042073b7710b
    假设创建的项目信息如下:
    <groupId>net.wanho.nexus</groupId>
    <artifactId>nexus-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
  • 修改nexusdemo的pom.xml,在project节点下面加入以下内容:
    <distributionManagement>
        <repository>
            <id>releases</id>
            <url>http://localhost:8081/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
  • install nexusdemo项目
    在C:\Users\zhangli.m2\repository\net\wanho\nexus\nexus-demo\1.0-SNAPSHOT路径下面安装了nexus-demo-1.0-SNAPSHOT jar包以及对应的pom
  • deploy nexusdemo项目
    在D:\soft\sonatype-work\nexus\storage\snapshots\net\wanho\nexus\nexus-demo\1.0-SNAPSHOT路径下有了nexus-demo-1.0-SNAPSHOT jar包及其对应的pom

从私服下载jar包

  • 创建一个maven项目,名称为nexus-use-jar
  • 在该项目中加入以下依赖:
<dependency>
    <groupId>net.wanho.nexus</groupId>
    <artifactId>nexus-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

此时,该jar包的引入是没问题的,因为它来自.m2;

  • 修改nexus-use-jar的pom.xml,在project节点下加入以下内容:
   <repositories>
        <repository>
            <id>abc</id>
            <url>http://localhost:8081/nexus/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>abc</id>
            <url>http://localhost:8081/nexus/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
        </pluginRepository>
    </pluginRepositories>
    • 将Apache Snapshots与其他配置加到同一组
      12 搭建maven私服nexus点击save
      结果如下
      12 搭建maven私服nexus加到同一组
    • 删除C:\Users\zhangli.m2\repository\net\wanho\nexus文件夹
      此时,nexus-use-jar项目中的依赖出错,但是reimport 项目以后,刚被删除的jar包又重新下载到了C:\Users\zhangli.m2\repository\net\wanho\nexus文件夹下。显然我们并没有重新install,这个jar包就是自动从私服下载的。
      以上就是maven私服nexus搭建并上传下载jar包的过程。
上一篇:SQL如何使用快照恢复被误删的数据?


下一篇:【Java】java扩展机制SPI 实现