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>标签中

即可。如下图:

第 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 页


本文标签: 仓库 文件 信息 插件 需要