项目管理工具Maven6

九、私服nexus(一)nexus安装

  1. 安装nexus
    将资源下的私服文件夹中的nexus-2.12.0-01-bundle.zip 解压
    项目管理工具Maven6
    在命令提示符下,进入此目录,敲入命令

nexus install
如有下列提示则证明安装成功。
项目管理工具Maven6
如果想卸载,命令为:

nexus uninstall

  1. 启动nexus
    在服务中找到nexus ,右键启动
    项目管理工具Maven6
  2. 进入nexus
    打开浏览器输入地址:http://localhost:8081/nexus
    项目管理工具Maven6
    点击右上角的Log In ,在弹出窗口中输入username为admin , password为admin123 ,点击Log In按钮
    项目管理工具Maven6
    (二)构建索引
    刚刚安装好的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包
    将以下三个文件放入一个文件夹
    项目管理工具Maven6
    cmd执行:

java -jar indexer-cli-5.1.1.jar -u nexus-maven-repository-index.gz -d indexer
执行后生成目录indexer,目录下的文件是索引文件,如下图
项目管理工具Maven6
将D:\nexus-2.12.0-01-bundle\sonatype-work\nexus\indexer\central-ctx 目录下的文件删除,将上边的索引文件拷贝到此目录下。
拷贝后重新启动nexus,然后进入nexus搜索jar包发现可以进行搜索了。
项目管理工具Maven6
(三)仓库类型
项目管理工具Maven6
1、hosted:宿主仓库,自己项目的jar要放到hosted类型的仓库中。
2、proxy:代理仓库,代理中央仓库
3、virtual:虚拟仓库,存储了maven1的构件,一般不用。
4、group:仓库组,将一些仓库组成一个组,自己项目连接仓库组去下载jar包。
平常开发中都去连接仓库组,仓库组中包括:hosted、proxy等。

仓库所在的文件夹见下面的截图:

项目管理工具Maven6

(四)镜像配置
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>
  1. 在Maven中配置
    将以下配置信息放入maven的settings.xml中
<servers>[/align]<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 ,有如下提示表示部署成功
项目管理工具Maven6
我们在私服中进行查询,发现可以查到刚才我们上传的jar
项目管理工具Maven6
(六)发布第三方的工程jar到nexus
有很多jar包由于版权等问题,并不会出现在中央仓库中,比如oracle的驱动,那如何将这类jar包放在nexus中呢?我们看下列操作步骤:
(1)选择左侧菜单的Repositories, 在Repositories窗口中选择3rd party
项目管理工具Maven6
(2)在3rd party窗口中选择Artifact Upload
项目管理工具Maven6

(3)在Artifact Upload选项卡中填写坐标,并上传jar包。

项目管理工具Maven6
上传jar包选择oracle的驱动。
项目管理工具Maven6
填写坐标
项目管理工具Maven6

有下列提示则为上传成功

项目管理工具Maven6
上传成功后可以在3rd party库中找到此jar包

项目管理工具Maven6

猜你喜欢

转载自blog.51cto.com/13587708/2121417
今日推荐