Maven私服Nexus安装与使用

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

注:最新版本的Nexus3.18在下载依赖时有点问题,建议安装3.17版本的Nexus

具体报错是这样的:Caused by: org.apache.maven.wagon.authorization.AuthorizationException: Not authorized

查看镜像

docker images

运行Nexus容器

#进入/opt目录,创建宿主机挂载目录并设置权限

cd /opt

mkdir nexus-data

chown -R 200 nexus-data

#运行nuxus私服

-d:后台运行

-p:将容器内部端口向外映射,第一个参数是宿主机端口,第二个参数容器端口

–name:命名容器名称

–restart always在容器退出时总是重启容器

-v:将容器内配置、日志、数据文件等文件夹挂载到宿主机指定目录

docker run -d --name nexus3 -p 8081:8081 --restart always -v /opt/nexus-data:/nexus-data sonatype/nexus3

如果没有设置权限,运行nexus时就会报如下错误

Warning: Cannot open log file: …/sonatype-work/nexus3/log/jvm.log

Warning: Forcing option -XX:LogFile=/tmp/jvm.log

Unable to update instance pid: Unable to create directory /nexus-data/instances

/nexus-data/log/karaf.log (No such file or directory)

Unable to update instance pid: Unable to create directory /nexus-data/instances

mkdir: cannot create directory ‘…/sonatype-work/nexus3/log’: Permission denied

mkdir: cannot create directory ‘…/sonatype-work/nexus3/tmp’: Permission denied

OpenJDK 64-Bit Server VM warning: Cannot open file …/sonatype-work/nexus3/log/jvm.log due to No such file or directory

登录Nexus


访问web地址:http://ip:8081

Nexus首次登录界面

从3.17版本开始默认密码不再是admin123,密码是随机生成。首次登录页面会显示admin用户的密码在/nexus-data/admin.password

注意:我们刚才安装的时候把/nexus-data目录挂载到宿主机的/opt/nexus-data,所以密码在/opt/nexus-data/admin.password

执行命令vim /opt/nexus-data/admin.password,即可查看到如9c3ac7fb-4264-4457-8e48-4aa84c71e7ad这样的密码,然后登录即可。用户名:admin,密码:/opt/nexus-data/admin.password里面的密码

登录后会让用户设置新的密码。这里把用户名和密码设置为admin/admin123

登录后界面如下

Nexus登录后界面

默认仓库说明

maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar

maven-releases:私库发行版jar,初次安装请将Deployment policy设置为Allow redeploy

maven-snapshots:私库快照(调试版本)jar

maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml或项目pom.xml中使用

仓库类型

Group:这是一个仓库聚合的概念,用户仓库地址选择Group的地址,即可访问Group中配置的,用于方便开发人员自己设定的仓库。maven-public就是一个Group类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x默认Releases,Snapshots,Central,当然你也可以自己设置。

Hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的jar文件

3rd party:未发布到公网的第三方jar (3.x去除了)

Snapshots:本地项目的快照仓库

Releases: 本地项目发布的正式版本

Proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage属性的值即被代理的远程仓库的路径),如可配置阿里云maven仓库

Central:中央仓库

Apache Snapshots:Apache专用快照仓库(3.x去除了)

配置阿里云公共仓库


Nexus的maven-group的默认查找方式为:maven-releases --> maven-snapshots --> maven-central,我们在中间再加一个阿里云仓库,加快访问速度。

配置阿里云公共仓库1

选择proxy类型

在这里插入图片描述

信息填写如下

仓库名字:maven-aliyun

阿里云远程maven仓库地址:http://maven.aliyun.com/nexus/content/groups/public/

其他选项:默认即可

配置阿里云公共仓库3

修改maven-public中的仓库引用及顺序:

配置阿里云公共仓库4

至此,配置完毕!我们在maven使用maven-public仓库地址的时候,会按照如下顺序访问:本地仓库 --> 私服maven-releases --> 私服maven-snapshots --> 远程阿里云maven仓库 --> 远程中央仓库。

Maven配置使用Nexus私服


Maven配置私服下载依赖方式

maven配置私服下载有两种方式

  • setting.xml:该文件配置的是全局模式

  • pom.xml:该文件的配置的是项目独享模式

若pom.xml和setting.xml同时配置了,以pom.xml为准

setting.xml文件配置

这个时候不需要再配置pom.xml文件,即可使用私服下载jar依赖包

配置私服镜像

nexus-releases

*

http://10.172.0.201:8081/repository/maven-public/

nexus-snapshots

*

http://10.172.0.201:8081/repository/maven-snapshots/

镜像的URL可以从页面中的copy按钮直接复制

镜像的URL

配置从私服下载jar包

nexus

nexus-releases

http://nexus-releases

true

true

nexus-snapshots

http://nexus-snapshots

true

true

nexus-releases

http://nexus-releases

true

true

nexus-snapshots

http://nexus-snapshots

true

true

nexus

pom.xml文件配置

如果你配置了pom.xml,则以pom.xml为准

maven-nexus

maven-nexus

http://10.172.0.201:8081/repository/maven-public/

true

true

配置Maven连接私服打包上传项目


最后

无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。

针对以上面试技术点,我在这里也做一些分享,希望能更好的帮助到大家。

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

配置Maven连接私服打包上传项目


最后

无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。

针对以上面试技术点,我在这里也做一些分享,希望能更好的帮助到大家。

[外链图片转存中…(img-2c7bRWVl-1714705651160)]

[外链图片转存中…(img-iMvUgNgo-1714705651160)]

[外链图片转存中…(img-BvcoBmCF-1714705651161)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值