Linux环境下安装Nexus

Nexus可以做Maven私服,私服不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库。有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:

Nexus作用:
如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

1.安装jdk

ps:不会的同学请参考 https://blog.csdn.net/qq_38743494/article/details/86101356 这篇博客进行学习

2.安装Nexus

2.1.进入local下:

cd /usr/local

2.2.创建文件夹:

mkdir nexus

2.3.切换目录:

cd  /usr/local/software

2.4.下载Nexus:

wget "https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.3-02-bundle.tar.gz"

2.5.解压文件:

tar -zxvf  nexus-2.14.3-02-bundle.tar.gz -C /usr/local/nexus

解压之后就会看见两个目录:
    nexus-2.11.4-01:里面是nexus的运行环境和应用程序。
    sonatype-work:里面是我们后面要对nexus进行一些配置的地方,像索引和起始的仓库和端口等都可以在这里面配置。

2.6配置环境变量

vim /etc/profile

添加export RUN_AS_USER=root,如果这里不配置,启动时会出现 If you insist running as root ,than set the environment variable RUN_AS_USER=root before running this script 报错
刷新环境变量

source /etc/profile

2.7.启动Nexus

cd /usr/local/nexus/nexus-2.14.3-02/bin/nexus start

2.8.访问页面

默认地址:http://127.0.0.1:8081/nexus
点击右上角Log In进行登录,默认帐号:admin、密码:admin123
在这里插入图片描述

3.Nexus初始化

3.1、Nexus整体介绍

在这里插入图片描述
  &nsp; 我们可以从上图中看到四种仓库类型:group(仓库组)、hosted(宿主)、proxy(代理)和virtual(虚拟)。其中每种类型的Format有Maven1或者Maven2,这里我们不看Maven1的。仓库的Policy(策略)表示该仓库为发布(Release)版本还是快照(Snapshot)版本仓库。
在图中,Nexus列出了默认的几个仓库:
        Public Repositories:仓库组,将所有策略为Release的仓库聚合并通过一致的地址提供服务。
        3rd party:一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。
        Apache Snapshots:策略为Snapshots的代理仓库,用来代理Apache Maven仓库的快照版本构件。
        Central:该仓库代理Maven的中央仓库,策略为Release,只会下载和缓存中央仓库中的发布版本构件。
        Central M1 shadow:maven1格式的虚拟类型仓库。
        Codehaus Snapshots:代理Codehaus Maven仓库快照版本的代理仓库。
        Release:策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。
        Snapshots:策略为Snapshots的宿主类型仓库,用来部署组织内部的快照版本构件。

3. 2、点击左侧Repositories项 -> central仓库 -> Configuration -> Download Remote Indexes=True -> Save,表示下载远程仓库的索引。

在这里插入图片描述
    同时override local storage location 也是可以改一下。
点击“save”。
    点击左边的“Administration”->“Scheduled Tasks"链接,如果没有出现“Update Repositories Index”处于Running状态,那么需要在Public Repositories行右击,点击"Update Index”。
    然后再点击Schedule Tasks就可以看到有任务处于Running状态了。
    等到索引下载完成之后,就可以在"Repositories"界面中,选择Browser Index选项卡,可以看到Maven中央仓库内容的树形结构.

3.3.手动上传jar包

在这里插入图片描述
第一步:GAV Definition:选择GAV Parameters
第二步:输入JAR包对应的:Group\Artifact\verison
第三步: 选择JAR
第四步:上传包,第四步add artifact 最后update artifact.
这样包上传成功。POM可以用了。

3.4Maven配置

在Maven安装目录conf/setting.xml 在内配置如下内容

<mirror>  
        <id>nexus</id>  
        <name>internal nexus repository</name>  
        <url>http://127.0.0.1:8081/nexus/content/groups/public/</url>  
        <mirrorOf>*</mirrorOf>  
</mirror>  

3.5.部署构建到私服

    我们在实际开发过程是多个人的,那么总有一些公共模块或者说第三方构件是无法从Maven中央库下载的。我们需要将这些构件部署到私服上,供其他开发人员下载。用户除了通过界面手动上传构件,也可以配置Maven自动部署构件至Nexus的宿主仓库。
    使用Maven部署构件到Nexus私服上日常开发的快照版本部署到Nexus中策略为Snapshot的宿主仓库中,正式项目部署到策略为Release的宿主仓库中,POM的配置方式如下:

<!-- 配置远程发布到私服,mvn deploy -->   
 <distributionManagement>   
        <repository>   
            <id>releases</id>   
            <name> Nexus Release Repository </name>   
            <url> http://127.0.0.1:8081/nexus/content/repositories/releases/ </url>   
        </repository>   
        <snapshotRepository>   
            <id>snapshots</id>   
            <name> Nexus Snapshot Repository </name>   
            <url> http://127.0.0.1:8081/nexus/content/repositories/snapshots/ </url>   
        </snapshotRepository >   
  </distributionManagement >  

Nexus的仓库对于匿名用户只是只读的。为了能够部署构件,我们还需要再settings.xml中配置验证信息:

<server>  
        <id>snapshots</id>  
        <username>admin</username>  
        <password>admin123</password>  
</server>
<server>   
    <id>releases</id>   
    <username>admin</username>   
    <password>admin123</password>   
</server>   

其中,验证信息中service的id应该与POM中repository的id一致。

(看不懂的同学加我QQ:651023907)

猜你喜欢

转载自blog.csdn.net/qq_38743494/article/details/86187369