Nexus私服安装以及使用教程

【Nexus的安装和配置】

JDK的下载与安装

解压配置环境变量即可使用

export JAVA_HOME=/opt/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

#自JDK1.7之后 CLASSPATH 可以不配置

Nexus的下载与安装

下载地址:http://www.sonatype.org/nexus/go/ 下载后的文件:nexus-2.14.4-03-bundle.tar.gz

安装:直接解压到某个目录即可。

sudo tar -zxvf nexus-2.14.4-03-bundle.tar.gz

解压后,会有两个目录:

  • nexus-2.14.4-03 :nexus私服管理界面的容器,内部集成了jetty。
  • sonatype-work :私服的默认仓库,用于存储索引和组件资源。

Nexus的必要配置

由于Nexus的UI服务默认不可以由root用户启动,所以如果需要用root用户启动需要在/etc/profile目录下添加如下配置:

export RUN_AS_USER=root

NexusUI服务页面的默认端口是8081,如果需要对端口进行修改,可以在${NEXUS_HOME}/nexus-2.14.4-03/conf/nexus.properties文件中修改以下参数:

application-port=8081

手动更新中央仓库索引(该步骤也可以不操作)

由于私服最初搭建的时候没有索引信息,如果让私服自动到中央仓库下载则速度极其慢,可以通过下面的步骤进行手动更新索引。更新之后中央仓库的jar包就可以被查询到了。

下载相关组件

在http://repo.maven.apache.org/maven2/.index/ 中下载 

nexus-maven-repository-index.gz  
nexus-maven-repository-index.properties   

在http://maven.outofmemory.cn/org.apache.maven.indexer/indexer-cli/5.1.0/ 下载

indexer-cli-5.1.0.jar

构建索引

将上面三个文件(.gz & .properties & .jar)放置到同一目录下,运行如下命令
# java -jar indexer-cli-5.1.0.jar -u nexus-maven-repository-index.gz -d indexer
上述命令会在当前目录下生成一个indexer的目录。

更新索引

创建文件夹
mkdir -p {NEXUS_HOME}/sonatype-work/nexus/indexer/central-ctx
将上述indexer目录中的全部内容拷贝过来。

启动Nexus服务

# cd /opt/nexus-2.14.4-03/bin/
# ./nexus start
Starting Nexus OSS...
Started Nexus OSS

停止Nexus服务的命令为

# ./nexus stop

配置Nexus

  • 登录Nexus的UI界面,url为http://192.168.174.200:8081/nexus。
  • 在页面的右上角点击Log In,输入用户名密码进行登录:admin/admin123。
  • 点击左侧菜单的Repositories,其中Public Repositories就是我们需要使用的私服仓库。
  • 点击Public Repositories。在下面的Configuration选项卡中可以配置该库中包含的其他仓库。左侧列表代表私服仓库中包含的仓库,会根据先后顺序使用其中的仓库。右侧列表代表可用的仓库列表。在Browse Index选项卡中可以看到当前私服的索引情况。在Browse Storage选项卡中可以看到私服中已经存储的jar包情况。

通过私服下载组件

使用私服下载组件(适用于内网环境)

在${MAVEN_HOME}/conf目录和C:\Users${用户名}.m2目录的settings.xml文件的<mirrors></mirrors>标签中添加如下内容:
<mirror>
     <id>nexus</id>
     <mirrorOf>*</mirrorOf>
     <url>http://192.168.186.2:8081/nexus/content/groups/public/</url>
</mirror>
  • 其中url的地址为Nexus私服UI界面中
  • Repositories仓库里Public Repositories对应的url。

使用阿里云下载组件(适用于外网环境)

如果在外网环境下,无法连接到公司的服务器,这时候可以用阿里云作为镜像,其下载速度要远高于国外的中央仓库。配置阿里云仓库需要在上述配置文件位置添加如下内容:
<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <mirrorOf>central</mirrorOf>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

向Nexus私服发布组件的必要配置

向私服发布我们自己的jar包或者war包,需要配置工程的pom.xml文件和本地maven的settings.xml。 配置工程的pom.xml文件

在需要发布到私服的工程的pom文件中,添加以下内容。

<distributionManagement>
    <snapshotRepository>
        <id>snapshots</id> <!-- 需要与settings.xml文件中一致 -->
        <name>Snapshot</name>
        <url>http://192.168.174.110:8081/nexus/content/repositories/snapshots/</url>
        <uniqueVersion>true</uniqueVersion>
    </snapshotRepository>
    <repository>
        <id>releases</id> <!-- 需要与settings.xml文件中一致 -->
        <name>Release</name>
        <url>http://192.168.174.110:8081/nexus/content/repositories/releases/</url>
    </repository>
</distributionManagement>

需要注意的是,我们的pom.xml文件中会有下面这样一项配置:

<groupId>yuhaiyang</groupId>
<artifactId>epoch-utils-common</artifactId>
<packaging>jar</packaging>
<version>1.0</version> <!--也可能为:<version>1.0-SNAPSHOT</version> -->
  • 其中groupId和artifactId将会是发布到私服后的包路径
  • packaging是打包方式
  • version中是包的版本。如果version版本号包括-SNAPSHOT则该包会被发布到spapshots仓库,否则会被发布到releases仓库。

配置maven的settings.xml文件 发布我们自己的包到私服需要通过认证,且使用专门的发布用户。在Nexus中默认的具有发布权限的用户是deployment,为了能使我们的包顺利发布,需要在settings.xml文件的标签中添加以下内容:

<server>
    <id>releases</id> <!-- 与pom.xml中配置的id一致 -->
    <username>deployment</username>
    <password>deployment123</password>
</server>

<server>
    <id>snapshots</id> <!-- 与pom.xml中配置的id一致 -->
    <username>deployment</username>
    <password>deployment123</password>
</server>

其中密码可以在Nexus的UI界面上进行修改。

将工程部署到私服上

在编译工具上对工程执行deploy命令,就可以将工程部署到私服供其他组件使用了。

其他组件需要使用该工程的包的时候,只需要在pom.xml文件中添加相应的依赖即可在私服中下载。

转载自:https://my.oschina.net/epoch/blog/1611352

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值