一、前言 我们在JavaWeb开发中必不可少的就是jar包管理- maven ,在没有maven之前,都是自己手动下载jar包导入到项目中,非常的繁琐。 maven出现之后,又迎来新的问题,对于仓库里人家发布的都可以引用下载,但是公司自己内部写的jar包,不想让外人看到,自己公司来回粘贴复制,非常的繁琐,版本维护起来也是十分头疼! 这时 Nexus Repository 出现了,现在主流的还是nexus3 ,所以今天小编带大家一起搭建使用一下。当然公司也必须有一个自己的私服,来存放公司的技术沉淀,提高开发效率! 网上教程看了很多,但是基本都是教怎么上传到私服,从私服拉取依赖就没有写! 本文从 上传到拉取 面面俱到,对你有帮助,一键三连哈!! 二、介绍 官网地址:https://help.sonatype.com/repomanager3/product-information nexus3 是一种特殊的远程仓库,一般部署在公司服务器或者局域网内的仓库服务,私服代理广域网上的远程仓库,供公司的Maven用户使用。 当Maven依赖需要依赖的时候,它从私服请求,如果私服上不存在依赖,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。 我们还可以把一些无法从外部仓库下载到的构件上传到私服上。 总的准则: 无论私服有没有,我们本地都是使用私服提供的! 三、优点引入速度提高 加速Maven构建 方便管理 稳定性高 降低中央仓库的负荷 隐私性高 四、docker构建运行1. 创建挂载目录mkdir /mydata/nexus/nexus-data -p 给权限: chmod 777 /mydata/nexus/nexus-data/ 2. 启动nexusdocker run -d -p 8081:8081 --name nexus -v /mydata/nexus/nexus-data:/nexus-data sonatype/nexus3 3. 获取密码 我们看到密码可以在容器内获取: 默认用户是,唯一生成的密码可以在卷内的文件中找到。有关卷的信息,请参阅持久数据。 admin admin.password 由于我们挂载了数据文件,主要在宿主机上查看即可! 切换到目录:cd /mydata/nexus/nexus-data/ 查看密码:cat admin.password 密码:206d5b6b-cc58-403f-af03-e5c8772a803a 在这里插入图片描述 3. 访问页面 ip+端口访问:http://192.168.239.132:8081/ 在这里插入图片描述 4. 登录 用户:admin 密码:挂载目录下的admin.password文件内 在这里插入图片描述 五、nexus配置和解释 1. 继续初始化 在这里插入图片描述 2. 编写新密码 在这里插入图片描述 3. 配置匿名访问 由于匿名访问有安全性问题,在公司不是还是禁用为好! 在这里插入图片描述 4. 完成 在这里插入图片描述 5. 仓库名称类型 在这里插入图片描述 我们可以看到有三种类型: 仓库类型 说明 proxy 代理到远程仓库,默认国外,可以修改为国内阿里云代理 group 存放:通过 Nexus 获取的第三方 jar 包 hosted 存放:本团队其他开发人员部署到 Nexus 的 jar 包 还有一些仓库名称: 仓库名称 说明 maven-central Nexus 对 Maven 中央仓库的代理 maven-public Nexus 默认创建,供开发人员下载使用的组仓库 maven-releasse Nexus 默认创建,供开发人员部署自己 jar 包的宿主仓库要求 releasse 版本(生产版本) maven-snapshots Nexus 默认创建,供开发人员部署自己 jar 包的宿主仓库要求 snapshots 版本(测试版本)6. 调整代理地址 点击maven-central 进入详情: 把代理地址换为阿里云的: https://maven.aliyun.com/repository/public 往下滑到最后点击保存! 在这里插入图片描述 7. 新建用户和仓库 关于很多教程都是新建用户和仓库,小编这里就使用admin和自带的仓库了! 一般的小公司够了,公司有一定规模在新建吧!!六、settings.xml配置1. 配置maven上传信息 我们打开本地的settings.xml文件,把私服的地址和用户配置上去!2. 配置从私服下载 maven-public admin 123456 maven-snapshots admin 123456 maven-releases admin 123456 nexus-own 七、springboot项目配置1. 父项目pom文件 nexus-own maven-public Nexus Central http://192.168.239.132:8081/repository/maven-public/ default true false always maven-snapshots Nexus Central http://192.168.239.132:8081/repository/maven-snapshots/ default false true always maven-public Nexus Central http://192.168.239.132:8081/repository/maven-public/ true false org.springframework.boot spring-boot-maven-plugintrue repackage org.apache.maven.plugins maven-compiler-plugin3.10.1 1.8 UTF-8 true 2. deploy上传私服 双击deploy,上传私服! 在这里插入图片描述 3. 私服查看 在这里插入图片描述 一共上传了两次,都在私服中存在! 在这里插入图片描述 4. 私服依赖在本地引用 我们新建一个springboot项目,然后引入依赖: 要勾选Projects下面的配置,不然无法引入依赖! 在这里插入图片描述 5. 测试使用 新项目可以使用依赖中的注解: 在这里插入图片描述 八、总结 经过半天的测试加编写,终于完成,对于私服有了更深的认识! 私服是每个公司必须要有的,当然也是我们必须要掌握的,小编整理出来,方便大家学习! 优点前面都说了,这里就不多说了! 前人种树后人乘凉嘛,对你有帮助,还请不要吝啬你的发财小手点点关注哈! 关注小编的微信公众号,一起交流学习!文章首发看哦! maven-releases http://192.168.239.132:8081/repository/maven-releases/ maven-snapshots http://192.168.239.132:8081/repository/maven-snapshots/