九、私服nexus
九、私服nexus
(一)nexus安装
1. 安装nexus
将资源下的私服文件夹中的nexus-2.12.0-01-bundle.zip 解压
在命令提示符下,进入此目录,敲入命令
nexus install |
如有下列提示则证明安装成功。
如果想卸载,命令为:
nexus uninstall |
2. 启动nexus
在服务中找到nexus ,右键启动
3. 进入nexus
打开浏览器输入地址:http://localhost:8081/nexus
点击右上角的Log In ,在弹出窗口中输入username为admin ,
password为admin123 ,点击Log In按钮
(二)构建索引
刚刚安装好的nexus是无法直接搜索到jar包的,必须下载索引才可以正常使用。
我们到中央仓库地址 http://repo.maven.apache.org/maven2/.index/下载以下两个索引压缩文件
nexus-maven-repository-index.gz
nexus-maven-repository-index.properties
这两个文件一般在此页面的最后的位置,另外还需要在网上下载一个名为indexer-cli-5.1.1.jar 的jar包
将以下三个文件放入一个文件夹
cmd执行:
java -jar indexer-cli-5.1.1.jar -u
nexus-maven-repository-index.gz -d indexer |
执行后生成目录indexer,目录下的文件是索引文件,如下图
将D:\nexus-2.12.0-01-bundle\sonatype-work\nexus\indexer\central-ctx 目录下的文件删除,将上边的索引文件拷贝到此目录下。
拷贝后重新启动nexus,然后进入nexus搜索jar包发现可以进行搜索了。
(三)仓库类型
1、hosted:宿主仓库,自己项目的jar要放到hosted类型的仓库中。
2、proxy:代理仓库,代理中央仓库
3、virtual:虚拟仓库,存储了maven1的构件,一般不用。
4、group:仓库组,将一些仓库组成一个组,自己项目连接仓库组去下载jar包。
平常开发中都去连接仓库组,仓库组中包括:hosted、proxy等。
仓库所在的文件夹见下面的截图:
(四)镜像配置
nexus已经安装好了,我们要开始使用它了。现在我们需要在maven的配置文件settings.xml中配置镜像,让maven找私服,而不是直接到中央仓库下载。
打开maven的配置文件settings.xml,添加如下配置:
<mirrors> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://localhost:8081/nexus/content/groups/public/</url> </mirror> </mirrors> |
mirrors为镜像组,可以配置多个mirror(镜像),我们这里配置的是nexus中的中央代理仓库。
配置好后,我们需要创建一个项目来测试一下,看看是不是可以通过nexus来下载jar包。
测试步骤:
创建maven工程(jar),在pom.xml中添加依赖,观察nexus中是否下载了相应的jar包,目录为 nexus-2.12.0-01-bundle\sonatype-work\nexus\storage\central
(五)发布自己的工程jar到nexus
1. 创建maven工程itcastutil (jar)
坐标信息: Group Id :
cn.itcast.util
Artifact Id: itcastutil
创建包cn.itcast.util
创建类DateUtil
package cn.itcast.util; import java.util.Calendar; import java.util.Date; /** * 日期工具类 * @author Administrator * */ public class DateUtil { /** * 获取当前年份 * @return */ public static int getYear(){ Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); return calendar.get(Calendar.YEAR); } } |
在pom.xml中引入如下配置信息
<distributionManagement> <repository> <id>releases</id> <url> http://localhost:8081/nexus/content/repositories/releases/ </url> </repository> <snapshotRepository> <id>snapshots</id> <url> http://localhost:8081/nexus/content/repositories/snapshots/ </url> </snapshotRepository> </distributionManagement> |
2. 在Maven中配置
将以下配置信息放入maven的settings.xml中
<servers> <server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>admin123</password> </server> </servers> |
注意:settings.xml 配置 <id>和 pom.xml<id> 对应!
然后执行命令 deploy ,有如下提示表示部署成功
我们在私服中进行查询,发现可以查到刚才我们上传的jar
(六)发布第三方的工程jar到nexus
有很多jar包由于版权等问题,并不会出现在中央仓库中,比如oracle的驱动,那如何将这类jar包放在nexus中呢?我们看下列操作步骤:
(1)选择左侧菜单的Repositories, 在Repositories窗口中选择3rd party
(2)在3rd party窗口中选择Artifact Upload
(3)在Artifact Upload选项卡中填写坐标,并上传jar包。
上传jar包选择oracle的驱动。
填写坐标
有下列提示则为上传成功
上传成功后可以在3rd party库中找到此jar包