zoukankan      html  css  js  c++  java
  • Ubuntu server下搭建Maven私服Nexus

      Ubuntu server下搭建Maven私服Nexus

      Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用。

      

      1、下载

      通过root用户进去Ubuntu server

      $  cd /opt

      $  wget http://download.sonatype.com/nexus/oss/nexus-2.10.0-02-bundle.tar.gz

      

      2、启动

      环境准备,启动nexus,必须先完成JDK环境的配置。

      $  cd /opt/

      $  tar -zxvf nexus-2.10.0-02-bundle.tar.gz

      $  cd /opt/nexus-2.10.0-02/bin

      $  vi nexus

      在启动文件nexus中增加nexus的启动用户,否则没权限启动,将报错如下:

      WARNING - NOT RECOMMENDED TO RUN AS ROOT

      If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script

      所以要解决此问题,需要在启动文件nexus,加上RUN_AS_USER=root,如图所示

      

      保存退出之后,即可启动nexus,命令如下:

      $  ./nexus start  

      Starting Nexus OSS...
      Started Nexus OSS.

      表示启动成功,访问地址:http://ip:8081/nexus

      3、配置nexus

      登录nexus,右上角Log In,默认登录用户名密码:admin/admin123

      登录之后,我们可以点击左边菜单栏Repositories进入详细配置

      可以自己重新创建一个私服配置,这里我们用系统在带的Public Repositories

      

      关于仓库的类型介绍  

      hosted 类型的仓库,内部项目的发布仓库

      releases 内部的模块中release模块的发布仓库

      snapshots 发布内部的SNAPSHOT模块的仓库

      3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

      proxy 类型的仓库,从远程中央仓库中寻找数据的仓库

      group 类型的仓库,组仓库用来方便我们开发人员进行设置的仓库

      但是需要将其他几个代理的库配置映射到Public中,分别将Apache Snapshots、Central、Codehaus Sanpshots下Download Remote Indexes选项选择【true】,保存即可,默认是false,如下图

      

      把将类型为Proxy的库Apache Snapshots、Central、Codehaus Sanpshots配置到Public Repositories下,如下图:

      

      然后分别将Apache Snapshots、Central、Codehaus Sanpshots更新Index,在每一个库上面右键操作Repair Index

      

      最后将Public Repositories操作Repair Index

      然后接可以测试maven仓库了。

      4、远程测试maven仓库

      在项目中,引用maven仓库。则需要项目的pom.xml文件中添加如下:  

    <repositories>
        <repository>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <id>Public</id>
            <name>Public Repositories</name>
         <url>http://192.168.10.50:8081/nexus/content/groups/public/</url>
        </repository>
    </repositories>                

      然后执行maven下载依赖jar,检测是否下载成功~在私服上,通过左边的Artifact Search 搜索窗口,查看jar包是否在私服下载成功。

      另外,通常我们是修改本地的maven安装目录下的配置文件setting.xml,将本地仓库更换成私服仓库地址,保证本客户端上所有的项目都将使用私服,配置setting.xml如下:

      在<profiles></profiles>加入  

      <profile>
        <id>env-dev</id>
        <repositories>
          <repository>
            <id>Public</id>
            <name>Public Repositories</name>
            <url>http://192.168.10.50:8081/nexus/content/groups/public</url>
            <snapshots>
              <enabled>true</enabled>
            </snapshots>
            <releases>
              <enabled>true</enabled>
            </releases>
          </repository>
        </repositories>
      </profile>

      并在</profiles>之后中加入  

    <activeProfiles>
        <activeProfile>env-dev</activeProfile>        
    </activeProfiles>

      新建项目,构建并测试

      

      5、三方jar包入maven私服

      比如 有些第三方jar包,在maven中心仓库没有,这个时候就需要手动在本地将jar上传上去,以供本地其他用户使用,简单截图介绍

      

      

  • 相关阅读:
    富文本,NSAttributedString,当需要改变的内容有相同的时候的解决方法
    iOS 如何将证书和描述文件给其他人进行真机调试(Provisioning profile "描述文件的名字" doesn't include the currently selected device "你的手机名字".)
    iOS 去除字符串中的H5标签
    The dependency `AMapSearch (~> 3.0.0)` is not used in any concrete target. cocoapods在update或者install的时候报错解决办法
    iOS 3D Touch 五个快捷键的问题
    根据内容计算cell的高度
    iOS UIPickerView 可能会出现选中行不显示或者去掉上下两条横线的问题解决,
    iOS 开发 常用的正则验证表达式:电话 、邮箱等等
    使用MLeaksFinder检测项目中的内存泄露
    iOS 当请求到的数据是double类型,会失去精准度,并且去掉小数点后的0
  • 原文地址:https://www.cnblogs.com/candle806/p/4076325.html
Copyright © 2011-2022 走看看