zoukankan      html  css  js  c++  java
  • nexus3.14.0版本linux环境安装、启动、搭建私库

    本文介绍的是nexus3.14.0版本在linux环境下安装、启动、搭建私库。

    nexus3以上的版本太新了,网上很少介绍安装细节的。据了解和2.X版本有所不同了。

    1、前提

    linux机器上需先安装好jdk,并且配置好java环境变量。

    安装好maven,并且配置好maven环境变量。

    2、安装

    把下载好的nexus-3.14.0-04-mac.tgz文件放到/opt/目录下。这个目录你自己可以随意定。

    进入tgz文件所在目录: cd /opt/

    在/opt目录下解压缩tgz文件命令: tar -zxvf nexus-3.14.0-04-mac.tgz

    解压缩后当前目录出现了两个目录: nexus-3.14.0-04 和 sonatype-work,注意这个sonatype-work也是个有用的文件夹,不要删除。

    3、修改配置文件

    修改启动文件以root用户启动

    进入安装下的bin目录: cd /opt/nexus-3.14.0-04/bin

    用vim命令修改启动文件nexus:  vim nexus

    找到127行(如何显示行号自行百度),把原来的run_as_root=true改为false,这里我是注释掉原来那行,新增加了一行run_as_root=false,如下:

    #run_as_root=true
    run_as_root=false

    4、启动

    进入启动相关配置文件:  cd /opt/nexus-3.14.0-04/etc/  

    然后查看配置文件:cat nexus-default.properties

    应用启动端口

      application-port=8081

    应用启动上下文

      nexus-context-path=/     

    进入bin目录,启动nexus: ./opt/nexus-3.14.0-04/bin/nexus start        注意最前面的那个点不要忽略,最后的start参数之前要有一个空格

    执行start命令后,输出:Starting nexus

    我本地启动大约需要30秒左右,查看nexus是否已启动命令:ps -ef|grep nexus   如果有输出则证明启动了。

    验证是否启动成功,在浏览器里输入url: 

    http://127.0.0.1:8081/          如果在别的机器访问,例如我这里是http://192.168.125.150:8081/  显示不出网页,考虑可能是linux启用了防火墙,限制了端口号。

    这里的url就包含了启动端口启动上下文

    浏览器截图如下:

    5、查看nexus相关配置

    点击右上角的Sign in ,用户名和密码输入(默认的):admin / admin123。

    点击设置按钮,再进入System Information菜单。

    1、查看版本信息、节点信息、安装目录:

    2、查看jdk安装目录:

    3、查看maven安装目录:

     4、系统运行时内存情况、线程、联网情况

    其他系统信息不一一列举。

    6、搭建私库3rd_part

    感谢此老兄:https://blog.csdn.net/u013887008/article/details/79429973(向nexus3私服上传jar包)

    使用默认的用户名和密码登录:admin / admin123。

    新建仓库:3rd_part

    在nexus3.X版本已经没有repository ID的概念了,所以取个name就好,配置文件需要用到repository ID的地方统统使用name就行。新建repository:

    注意上图的 Release,nexus2不清楚,但是在nexus3中,这个库要区分是存放RELEASE稳定版本的,还是存储SNAPSHOT不稳定版本的。

    这会影响到当你使用mvn deploy命令把本地的jar或其他maven构件上传到nexus私服时,如果你的项目打包版本例如是0.0.1-SNAPSHOT,就会说不允许上传到release稳定版本库中。

    7、为新版本库3rd_part归纳到中央库maven-public

    当新库3rd_part创建完毕时,要把新库归纳到我们的版本库中心:maven-public,这个库是所有其他库的中央库,包含了其余所有库的包,归纳操作步骤:

    双击maven-public库,进入详细页:

    把新建的库3rd_part点击向右箭头归纳到中央库的组内来,然后点击save保存。

    8、为新版本库3rd_part创建权限、角色、用户(可选)

    在之前的nexus版本中,但凡创建一个新库,都要手动创建该库的权限,但是nexus3中,系统已经自动创建出了新库的所有权限nx-repository-admin-maven2-3rd_part-*

    其余例如read、delete、browse等权限也都已经自动创建好了,权限细粒度还是比较好的。

     

    接下来需手动创建角色:nx-role-3rd_part :

    把nx-admin的最大角色包含进来到新角色nx-role-3rd_part ,并把新库的所有权限 nx-repository-admin-maven2-3rd_part-* 都赋予给这个角色,最后点击save保存:

    创建用户部分可选,此处省略,类似以上步骤。练习用途的话直接使用admin/admin123即可。如果需要创建用户,务必把roles角色赋予给这个用户。

    9、maven的setting.xml配置

     配置你访问某个repository仓库用哪个用户名和密码,如果你有多个仓库,对应不同项目上传的私服repository地址,则需要在这里配置多个server标签,在<servers>中添加:

    <server>
             <id>3rd_part</id>  <!-- 注意这里的id一定要和你项目中的私服地址id一模一样,如果这里的用户名密码写错了,会报错:会报错401, ReasonPhrase: Unauthorized. -->
            <username>admin</username>
            <password>admin123</password>
    </server>

    配置你的私服地址,在<mirrors>中添加,

    <mirror>
             <!--此处配置所有的构建均从私有仓库中下载 *代表所有,也可以写central -->
             <id>nexus3</id>
             <mirrorOf>*</mirrorOf>
            <url>http://192.168.125.150:8081/repository/maven-public/</url>
         </mirror>

    在<profiles>中添加:

    <profile>
                 <id>nexus3</id>
                 <repositories>
                     <repository>
                         <id>maven-public</id>   <!-- 1111, 这里的id需和2222那里的一样,在同一个profile里  -->
                         <url>http://192.168.125.150:8081/repository/maven-public/</url>
                         <releases><enabled>true</enabled></releases>
                         <snapshots><enabled>true</enabled></snapshots>
                     </repository>
                 </repositories>
                 <pluginRepositories>  <!-- 这里是插件仓库地址 -->
                     <pluginRepository>
                         <id>maven-public</id>  <!-- 2222, 这里的id需和1111那里的一样,在同一个profile里  -->
                         <url>http://192.168.125.150:8081/repository/maven-public/</url>
                         <releases><enabled>true</enabled></releases>
                         <snapshots><enabled>true</enabled></snapshots>
                     </pluginRepository>
                 </pluginRepositories>
    </profile>    

    启用id为nexus3的profile的配置:

    <activeProfiles>
            <activeProfile>nexus3</activeProfile>
      </activeProfiles>

    10、项目私服配置

     在<project>标签下添加distributionManagement标签,这个标签应该和<groupId><artifactId>这些标签是同级的

    <!-- 这个配置是上传到私服的配置 -->
        <distributionManagement>
            <repository>
                <!-- 上传到私服的仓库id。注意:nexus3里没有了repository id的概念,直接使用name作为id的值即可,也可以起一个另外的有意义的名字。
              但是!!此id的值必须与setting.xml里server标签里的其中一个id相同,server里配置的用户名和密码才能对这个私库起作用,否则,会报错401, ReasonPhrase: Unauthorized.
            
    --> <id>3rd_part</id> <!-- 上传到私服的仓库name --> <name>3rd_part</name>
            <!-- 一般项目都是上传到自己的项目私库,每个项目的私库应该分开,尤其是微服务项目。同一个微服务项目下的各个子项目应该被放在同一个私库。 -->
    <url>http://192.168.125.150:8081/repository/3rd_part/</url> </repository> </distributionManagement>

     注意:nexus3里没有了repository id的概念,直接使用name作为id的值即可,也可以起一个另外的有意义的名字。

    11、上传jar、war到私服

    打开cmd,到项目根目录下,按照以下步骤执行maven命令:

    mvn clean     //清空target目录

    mvn install     //打包项目到target目录

    mvn package    //打包项目并且将包同步到本地maven库

    mvn deploy       //将打包好的包同步上传到私库,deploy命令发布成功截图如下:

     注意,如果你mvn deploy执行的是父类项目,也就是这个项目中的pom.xml中有以下标签的项目:

    <modules>
      <module>../project1</module>
      <module>../project2</module>
    </modules>

    那么就会把project1和project2都upload上传到nexus私服。

    12、验证上传到私库的包

    在3rd_part私库中,确实找到了上传的jar包:

    13、上传包的存放地址

    感谢这位老兄:https://www.cnblogs.com/acm-bingzi/p/mavenNexusPath.html (maven上传jar包到nexus私服后的存放路径 以及 使用IDEA上传jar包的步骤)

    上图中可以看到以.jar命名的文件,也可以下载。

    这让我一度以为是以jar包的形式保存在本地,但事实证明,保存在本地的最终是一个 .bytes 类型的文件,它的默认路径在sonatype-work exus3lobsdefaultcontent下面以.bytes的文件存在:

    注意这个sonatype-work的文件夹在nexus3.14版本中是和nexus-3.14.0-04文件夹同处于一个文件夹下的同一层级。

    在tar -zxvf命令解压缩nexus3.14.tar.gz文件时,自动解压出两个文件夹:sonatype-work 、nexus-3.14.0-04

  • 相关阅读:
    机器学习之决策树与随机森林模型
    深度学习入门篇--手把手教你用 TensorFlow 训练模型
    Android 性能测试之方向与框架篇
    机器学习:从入门到第一个模型
    5分钟教你玩转 sklearn 机器学习(上)
    Hbase 技术细节笔记(上)
    五年 Web 开发者 star 的 github 整理说明
    腾讯云发布第三代云服务器矩阵,开放更强计算力赋能产业智能化
    为什么要用深度学习来做个性化推荐 CTR 预估
    云 MongoDB 优化让 LBS 服务性能提升十倍
  • 原文地址:https://www.cnblogs.com/zhuwenjoyce/p/10050922.html
Copyright © 2011-2022 走看看