本文主要讲解Nexus私库的建立及使用,JDK和Maven的安装及配置就不再这里详述。
1.1官方下载地址:https://www.sonatype.com/download-oss-sonatype,打开如图1
1.2 但有可能由于网络原因下载不下来,也可从我分享的百度网盘下载,地址是:https://pan.baidu.com/s/1N1Y4Pq2nT3Hu65YGf4bC1g,提取码:v5h4
2.1成功下载安装包后,解压到自己想要部署的地方,这里解压到D:\Program Files文件夹下,如图3
2.2解压内部后文件结构为:如图4
3.添加系统环境变量:
3.1右键“我的电脑”或者“此电脑” -->“属性”左侧点击“高级系统设置”(如图5)打开“系统属性”
3.2在"高级"中点击最下方“环境变量”(如图6)
3.3在系统变量中选择“path”编辑(如图7),新建D:\Program Files\nexus-3.18.0-01-win64\nexus-3.18.0-01\bin(实际路径根据自己的解压安装路径),记得点“确定”保存(如图8)。
3.1打开zip解压文件下的 ../nexus-3.18.0-01-win64/nexus-3.18.0-01/bin/nexus.vmoptions,可以在图9配置运行时的最大堆、最小堆等,根据个人的电脑性能以及需要修改,默认配置如下,我这里将其调小到1024M。其他默认可以不动,感兴趣的朋友可以查看官方文档介绍。
3.2打开zip解压文件下的 ../nexus-3.18.0-01-win64/nexus-3.18.0-01/etc/nexus-default.properties。如图10中属性可以自定义修改。
通常可以不做任何修改,但个人习惯于修改 application-host 为127.0.0.1(关于0.0.0.0与127.0.0.1的区别自行检索)。同时将nexus-context-path设置为“/nexus”
两种启动方式
管理员身份运行cmd,运行nexus.exe /run 命令可以启动nexus服务(参考官方文档) ,关掉cmd后服务将停止。
管理员身份运行cmd,运行nexus.exe /install命令安装为windows服务,安装成功如图11
打开系统服务,找到“nexus”,即为安装成功(如图12),右击“nexus”-->“属性”(如图12),进入图13,根据自己情况设置服务是“自动”还是“手动”,这里设置为“自动”,可开机启动。初次安装为服务默认是停止状态,需手动启动。
1.登录
在浏览器中输入“127.0.0.1:8081/nexus”,(nexus是配置文件中设置的路径,默认是没有的,那么默认地址是“127.0.0.1:8081”)进入图14,并点击右上角“Sign in”登陆。初次登陆nexus服务启动需等待几分钟,这时候网页会进不去。
初次登陆账号为“admin”,密码在“D:\Program Files\nexus-3.18.0-01-win64\sonatype-work\nexus3\admin.password”文件中(如图15),(密码是随机生成的,进入系统后提示修改密码),
2.修改“admin”的密码
“Setup”界面中点“Next”(如图16),进入图17,修改密码,完后点“Next”,配置游客访问默认不动,点“Next”(如图18),完成点“Finish”(如图19)。
默认安装有以下这几个仓库,更多相关介绍,请自行查看官方文档
仓库名 | 作用 |
hosted(宿主仓库) | 存放本公司开发的jar包(正式版本、测试版本) |
proxy(代理仓库) | 代理中央仓库、Apache下测试版本的jar包 |
group(组仓库) | 使用时连接组仓库,包含Hosted(宿主仓库)和Proxy(代理仓库) |
virtual (虚拟仓库) | 基本用不到 |
点击界面上方的配置按钮(如图20)
点击左侧“Repository” -->"Repositories"(如图21),系统其实已经建立maven的三种仓库:maven-central(proxy类型,代理仓库),maven-pulbic(group类型,组仓库),maven-releases(hosted类型,宿主仓库正式发布版),maven-snapshots(hosted类型,宿主仓库测试快照版),双击每一个仓库,可查看具体信息。
点击图21 中的“Create repository”按钮,新建仓库
首先,新建maven的代理仓库(如图22),选择maven2(proxy),进入图23
在图21中设置两个地方:
(1)Name:仓库名称;比如“aliyun”;
(2)Remote storage:代理的地址;其他的默认。
记得点下方的“Create repository”保存。国内经常使用阿里云的资源“http://maven.aliyun.com/nexus/content/groups/public/”,当然还可以添加其他资源,如图24,这里为了方便学习,没有添加。
其次,新建maven的宿主即自我发布版仓库, 在图20中选择maven2(hosted),进入图25,主要设置3个地方:
(1)Name:仓库名称;比如“my-release”
(2)Version policy:版本类型;选择发布版“release”
(3)Deployment policy:部署类型;选择“Allow redeploy”,允许重新部署,这样可以覆盖已存在的。
记得点下方的“Create repository”保存。
再其次 新建maven的宿主即自我快照不稳定仓库,在图22中选择maven2(hosted),进入图26,设置3个地方:
(1)Name:仓库名称;比如“my-snapshots”
(2)Version policy:版本类型;选择发布版“snapshots”
(3)Deployment policy:部署类型;选择“Allow redeploy”,允许重新部署,这样可以覆盖已存在的。
记得点下方的“Create repository”保存。
最后,新建组仓库,就是把之前建立的仓库组合在一起,方便maven引用。 在图22中选择maven2(group),进入图27,设置两点
(1)Name:仓库名称;比如“my-public”
(2)Group:打包要组合的仓库;注意顺序,maven会按找从上到下的顺序查找资源。这里加入了系统自带的“maven-central”,是因为这个仓库代理了“https://repo1.maven.org/maven2/”,当然自己可以新建代理仓库来代理这个地址。
到这里,仓库已经建立完毕。
其他设置,待后续研究。
settting.xml文件就是本地maven在电脑上的全局变量,作用域为所有的maven项目;而pom.xml文件只是局部变量,作用域为本maven项目。如果两个文件都有配置,则优先使用pom.xml的局部配置。
(1)首先配置maven在Eclipse的安装路径,如图28,在菜单栏选择“Window”-->"Preferences"-->"Maven"-->"Installations",选择“Add”新建,默认选择安装类型“External”,点击“Directory”,加载maven的安装路径(注意选择到bin那一层目录,不含bin)点击“Finish”后如图29。如果电脑之按安装了一个maven版本的话,其实不用新建,系统默认的“ENBEDDED”也是可以的。
(2)Eclipse关联Maven的配置文件,如图30,在菜单栏选择“Window”-->"Preferences"-->"Maven"-->"User Settings",点击“Browse”选择Maven的settings.xml配置文件路径,“Local Repository”会读取settings.xml文件并显示出来,记得点“Apply”保存。
用记事本或者Notepad编辑器打开settings.xml文件
(1)从私库获取资源的配置,
第一种:项目的独立配置,则需编辑项目的Pom.xml文件
my-public
nexus
http://127.0.0.1:8081/nexus/repository/my-public/
my-public
nexus
http://127.0.0.1:8081/nexus/repository/my-public/
第二种:公用配置,所有maven项目都用,需配置 maven下的setting.xml文件,不用配置项目的Pom.xml文件,注意如果两者都配置了,可能会出错。
setting.xml文件添加镜像。
public
*
my-public
localhost:8081/nexus/repository/my-public/
配置 profiles, 注意profile的id“nexus”须在配置文件中激活设置,
nexus
maven-public
nexus
http://localhost:8081/nexus/repository/maven-public/
true
true
maven-public
nexus
http://localhost:8081/nexus/repository/maven-public/
true
true
激活profile的id“nexus”
nexus
(2)向私库发布资源的配置,即将maven项目大jar库文件上传到私库是的服务器配置。“id”是服务器唯一编号,与Pom.xml中的配置有关“id”一一对应。“username”和“passowrd”是访问私库是nexus系统的权限用户,这里用了系统账号“admin”。
releases
admin
admin123456
snapshots
admin
admin123456
相对应在Pom.xml需配置(在Eclipse的项目中打开pom.xml编辑),
“id”与上面settings.xml配置“server”的"id"一一对应,
“name”是自己定义的名称,只要自己能看懂,
“url”是访问nexus的相关仓库的路径,(可如图31,查看路径)
releases
Nexus Release Repository
http://127.0.0.1:8081/nexus/repository/my-releases/
snapshots
Nexus Snapshot Repository
http://127.0.0.1:8081/nexus/repository/my-snapshots/