admin 管理员组文章数量: 1086019
2024年6月3日发(作者:最好的文本编辑器)
Nexus仓库操作手册
目录
1
NEXUS仓库 ................................................................................................................... 1
1.1
安装Nexus ................................................................................................................ 1
1.2
仓库简介和配置 .......................................................................................................... 4
1.3
新建仓库 .................................................................................................................... 9
2
添加第三方JAR包和MAVEN插件文件 ........................................................................ 11
2.1
通过web系统的管理界面添加 .................................................................................... 11
2.2
拷贝文件的方式 ......................................................................................................... 13
2.3
查看上传的文件 ......................................................................................................... 16
1 Nexus仓库
1.1 安装Nexus
Nexus提供了两种安装方式,第一种是内嵌Jetty的bundle,解压到安装目录中就能直接
运行;第二种方式是WAR,将其发布到web容器中即可使用。Nexus要求jdk版本为1.7(若版
本不对,请调整环境变量JAVA_HOME指向jdk1.7的目录)。
本项目选择的是第一种安装方式,下载完nexus之后,将压缩包解压到你想要安装的目录即
可。解压完成后,会得到如下两个子目录(例如Nexus版本为2.7.0):
nexus-2.7.0-06/:该目录包含了Nexus运行所需要的文件,如启动脚本,依赖jar包等。
sonatype-work/:该目录包含了Nexus生成的配置文件,日志文件,仓库文件等。
用户只需调用对应操作系统的脚本就可以启动Nexus,本文主要介绍主流的Windows和
Linux平台上的启动方式,详细信息如下:
➢ Windows系统:
1. 用户需要进入到nexus-2.7.0-06/bin/jsw/目录,根据操作系统类型选择文件夹,进入后
双击里面的启动Nexus 。要停止服务,可以在命令行按:Ctrl+C键。例如,
Win7 64位系统,选择windows-x86-64中的启动Nexus。
第 1 页
2. 在nexus-2.7.0-06/bin/jsw/windows-x86-64中还有其他的一些脚本:
:将Nexus安装成Windows服务;
:卸载Nexus Windows服务;
:启动Nexus Windows服务;
:停止Nexus Windows服务;
➢ Linux系统:
1. 用户需要进入到nexus-2.7.0-06/bin/jsw/目录,根据操作系统类型选择文件夹,进入后
然后运行如下命令:$ ./nexus console。如果需要停止Nexus,可以使用Ctrl+C 键。例如:
Ubuntu32位系统,只需进入到nexus-2.7.0-06/bin/jsw/linux-x86-32/,然后运行上面的命令
即可。
2. 除console之外,Nexus的Linux脚本还提供如下的命令:
第 2 页
./nexus start:启动后台Neuxs服务;
./nexus stop:停止后台Neuxs服务;
./nexus status:查看后台Nexus服务的状态;
./nexus restart:重新启动后台Nexus服务;
启动完毕后,可以访问Nexus系统,访问地址:localhost:8081/nexus/,默认用户
名/密码:admin/admin123。
关于Bundle安装的一个常见问题是端口冲突。Nexus Bundle默认端口是8081,若端口已
被占用或希望使用其他端口开放Nexus服务,可以编辑文件
nexus-2.7.0-06/conf/ties,找到属性application-port将默认值8081改成其他
端口号,然后保存该文件,重启Nexus即可。
Nexus仓库初始页面,如下图所示:
第 3 页
1.2 仓库简介和配置
1.2.1 N
EXUS
目录结构
Nexus仓库初始页面如上图所示,主要信息如下:
一、 左侧包含多个菜单,主要使用有以下两个菜单:
1、 “Repositories”,点击后显示所包含的所有仓库信息;
2、 “Advanced Search”,点击后进入搜索页面,可根据关键字搜索jar等;
二、 点击“Repositories”后,显示所有的仓库信息,仓库类型包含:
Hosted:本地仓库,可部署自己的构件到这类型的仓库。比如公司的第二方库;
Proxy:代理仓库,被用来代理远程的公共仓库,如maven中央仓库;
Group:仓库组,用来合并多个hosted/proxy仓库,当项目需要引用多个repository资
源时,只需要将这些资源放到一个group中,引用这一个group即可;
三、 Nexus中自带的仓库:
1) Maven central是Maven的中央仓库;
2) central是一个代理仓库;
第 4 页
3) Releases是用来存放自己项目中发布的构建, 通常是Release版本的;
4) Snapshots是发布那些非release版本, 非稳定版本;
5) 3rd Party是一个第三方库,可以添加自己的第三方库;
四、 Maven 仓库组:
仓库组,即将多个仓库划分组管理。当需要引用多个仓库时候,若将这些仓库加入到一个仓库
组中,那么在中,只需要引用这个仓库组即可。
Nexus中预设了2个仓库组:public repositories和public snapshot repositories。仓库
组默认包含本地仓库Releases, snapshots, 3rd party和代理仓库Maven Central。可在
Configuration配置页添加仓库到这个仓库组。
1.2.2 在M
AVEN
中使用N
EXUS
为了能让本机所有的Maven项目都使用Nexus本地仓库,需要对文件进行修
改,但并不支持直接配置repositories和pluginRepositories,因此需要使用Maven
提供的Profile机制,将仓库配置放到中的Profile中。代码清单如下:
第 5 页
该配置中使用了一个id为dev的profile,这个profile包含了相关的仓库配置,同时配置
中又使用activeProfile元素将dev这个profile激活,这样当执行maven构建的时候,激活后
的profile会将仓库配置应用到项目中去。repositories和pluginRepositories标签分别是仓库
及插件仓库配置,它们的id都为nexus,url指向仓库访问地址,如下图所示。配置仓库及插件
仓库的目的是开启对快照版本下载的支持,当maven需要下载发布版或快照版构件的时候,它
会首先检查nexus,看该类型的构件是否支持。
配置参数中的仓库访问url
第 6 页
1.2.3 在项目中使用
NEXUS
查找依赖包
在项目中需要查找nexus仓库中的jar包,步骤如下:
➢ 登陆到nexus的web管理页面,选择左侧的“Advanced Search”进入到搜索页面,如
下图:
➢ 在上图中的搜索框中,输入jar包的名称,点击搜索,会列出查询结果列表,选择某一个
结果,则会在最下面显示它的具体信息,如下图:
➢ 选到自己所需的jar后,选择上图右下角区域的tab选项“Maven”按钮,将XML对应
的文本框内容复制粘贴到项目的文件中< dependencies> dependencies>标签中
即可。如下图:
第 7 页
1.2.4 部署编译完成的
JAR
到N
EXUS
仓库
在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需
要修改并发布,这时可以利用Nexus对不同状态的版本进行管理。Nexus仓库包含两种,
snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,
release正式仓库则是用来保存稳定的发行版本。
项目中使用maven过程中,maven2会根据模块的版本号(pom文件中的version)中是否
带有-SNAPSHOT来判断是快照版本还是正式版本。如果是快照版本,那么在 mvn deploy时会
自动发布到快照版本库中;如果是正式发布版本,那么在mvn deploy时会自动发布到正式版本
库中。
具体操作步骤如下:
1. 在maven的增加认证信息,认证信息包含:对应仓库的id,登录用户名/密
码,如下图:
第 8 页
2. 在项目的增加认证信息,认证信息包含:对应仓库的id,name,url,注:server
的id要与repository的id保持一致。如下图:
3. 修改好配置后,执行下maven的 deploy 即可把新的 jar 部署到Nexus上。
1.3 新建仓库
根据项目的需求,可自定义多个仓库。操作步骤如下:
1) 点击“Repositories”进入仓库信息页面,显示所有的仓库信息,同时可对仓库进行新增、
删除、更新索引、修改信息等操作。如下图:
第 9 页
2) 点击“+”号按钮,选择仓库类型:group,新增public-maven-plugin-repositories仓
库,填写配置参数,然后点击保存即可。具体配置信息如下:
3) 点击“+”号按钮,选择仓库类型:hosted,新增maven-plugins仓库,填写配置参数,
然后点击保存即可。具体配置信息如下:
第 10 页
2 添加第三方jar包和Maven插件文件
添加第三方jar包和maven插件文件有两种方式:
1:通过web系统的管理界面添加;
2:直接拷贝文件夹放到对应的Nexus仓库的文件中;
2.1 通过web系统的管理界面添加
通过Nexus系统界面,向3rd Party第三方仓库添加jar包,具体步骤如下:
1、 编写文件,需要填写jar的坐标信息,例如要上传,pom
内容如下:
第 11 页
2、 点击“Repositories”进入仓库信息显示页面,选中“3rd Party”,并在最下面的Tab
框中选择“Artifact Upload”,显示页面如下:
3、 在上图所示的页面中,需要进行以下操作:
第一步,“GAV Defintion”下拉框选择:“From POM”;
第二步,选择“Select POM to Upload”按钮,选择已填好的pom文件上传到本系统;
第三步,点击“Select Atrifact(s) to Upload…”按钮,将所需要上传的jar包上传到本系统,
当上传完毕后,会自动填充Filename,Classifiler,Extension三个输入框;
第四步, 点击“Add Atrifact”按钮,会生成信息填充到Atrifact文本框中,如下图所示:
第五步,点击“Upload Atrifact(s)”按钮,上传jar包到第三方库。
第 12 页
2.2 拷贝文件的方式
2.2.1 M
AVEN
插件文件
Nexus中用来存放插件文件的仓库是maven_plugins仓库,若Nexus安装路径为:D:
SOFT/Nexus/,则maven_plugins仓库所在的文件路径:
D:SOFT/Nexus/sonatype-work/nexus/storage/maven-plugins
由于每个maven插件都有唯一的坐标信息,因此插件文件需要严格按照自己的坐标信息来
选择对应的文件目录存放。maven插件的完整存放路径为:maven_plugins仓库文件目录 / 插
件坐标信息对应的文件目录。
例如,上传maven-scm-plugin插件,具体的操作步骤如下:
1.
查看maven-scm-plugin插件的坐标信息,打开maven-scm-plugin文件夹并选择进入
1.7文件夹(1.7表示:该插件的1.7版本,若存在多个版本,任意选择一个打开进入即可),然后
查看里面的文件。该pom文件中包含有插件的坐标信息,如
groupId,artifactId,version等信息。查看插件坐标信息的操作如下图所示:
第 13 页
2.
使用文本编辑器打开,找到/project/groupId的属性值,
该属性值信息与插件的存放目录相映射。例如:maven-scm-plugin插件的groupId的属性值
为:s,则对应的文件存放目录:org/apache/maven/plugins/,那
么该插件的完整存放路径为:
D:/SOFT/Nexus/sonatype-work/nexus/storage/maven_plugins/org/apache/maven/
plugins/
中的信息如图所示:
3.
根据第2步操作得到的插件文件存放路径,进入并打开该路径下的最后一层文件夹。若不
存在该文件夹,则需要按照该路径的目录层级结构手动创建缺少的目录文件。该路径下的最后一
层文件夹信息如下图所示:
第 14 页
4.
将需要上传的插件:maven-scm-plugin整个文件夹内容全部拷贝到第3步操作所打开的
文件夹中。若插件文件已存在,则选择合并文件夹操作。插件文件上传完毕后,需要更新Nexus
的索引信息,具体操作参考2.2.3。
2.2.2
JAR
文件
nexus仓库存放jar文件的路径,例如安装路径为D:nexus-2.11.1-01-bundle/,则存放jar
文件的路径如下:
D:nexus-2.11.1-01-bundle/sonatype-work/nexus/storage/thirdparty/
进入到以上的目录文件中后,将需要上传的jar文件拷贝进去即可。(注意:尽量不要将
plugins文件复制进去)
2.2.3 更新索引
第 15 页
将所有的maven插件文件和jar文件都复制完毕后,需要更新仓库的索引信息。登陆Nexus
仓库的Web系统,点击“Repositories”进入所有仓库信息,进行以下两部操作:
1. 选中“3rd party”,选择最下面的Tab选项框中的“Browse Storge”点击“
按钮,选择“Browse Index”点击“”按钮,如图所示:
”
2. 选中“public-maven-plugin-repository”和“public-repository”仓库,分别右键点
击“Repair Index”和“Update Index”,如图所示:
2.3 查看上传的文件
待第三方文件上传完毕后,可以到搜索界面,搜索刚上传的第三方文件,查看名称和版本是
否正确,如下图所示:
第 16 页
第 17 页
版权声明:本文标题:Nexus仓库操作手册 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1717417095a706543.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论