(一)安装

解压之后

进入bin文件夹下 复制路径 D:\software\nexus-2.12.0-01-bundle\nexus-2.12.0-01\bin

进入命令行窗口输入以下命令,安装成功

(如果报错

'findstr' 不是内部或外部命令,也不是可运行的程序或批处理文件

这是PATH环境变量的问题,将windows命令的目录添加到PATH中就好了。

即:在path中追加:%SystemRoot%/system32;%SystemRoot%;)

C:\windows\system32>cd D:\software\nexus-2.12.--bundle\nexus-2.12.-\bin

C:\windows\system32>cd D:\software\nexus-2.12.--bundle\nexus-2.12.-\bin

C:\windows\system32>d:

D:\software\nexus-2.12.--bundle\nexus-2.12.-\bin>nexus install
wrapper | nexus installed. D:\software\nexus-2.12.--bundle\nexus-2.12.-\bin>

去服务管理启动(我的电脑——管理——服务和应用程序——服务——nexus——启动)。

浏览器输入http://localhost:8081/nexus/

默认账号密码admin admin123

(二)构建索引

刚刚安装好的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

  1. 确保我们之前的案例做完.不要在这个案例上做私服
  2. 创建一个新的仓库,新的项目来完成私服案例

(五)发布自己的工程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包

 

最新文章

  1. 分享一些App常用的模块
  2. (转)Log4net 配置类库
  3. 浏览器不支持HTML5
  4. UIPanGestureRecognizer
  5. 实用程序Commer的开发——U盘内容可选同步至FTP服务器
  6. 深入浅出Ajax(二)
  7. 《C++程序设计语言(十周年纪念版)》【PDF】下载
  8. 查看Eclipse运行工程时使用的Command Line
  9. break、continue以及return的区别
  10. vue - 列表显示(列互相影响,全选控制,更新数据)
  11. shift and算法
  12. js正整数正则表达式
  13. springboot 服务工程,前端服务调用接口报跨域错误
  14. window下用taskkill杀死进程
  15. BZOJ.3218.a + b Problem(最小割ISAP 可持久化线段树优化建图)
  16. react withClamp装饰器
  17. delphi字符串分割
  18. 20150409作业3 阅读《构建之法》1-5章 (Update:2015-04-16
  19. ES6 let和const 的相同点与区别
  20. 【第十三章】 springboot + lombok

热门文章

  1. BZOJ1833(数位dp)
  2. Hadoop工作流--JobControl(五)
  3. 单页Html及Android App供小孩学习常用汉字
  4. vue_resource 使用说明
  5. 【转】PowerManager 与 WakeLock
  6. checking for gcc... no
  7. ubuntu服务器切换语言
  8. 51nod 1096 距离之和最小(水题日常)
  9. mybatis中app的查询语句
  10. 7-Java-C(搭积木)