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上传上去,以供本地其他用户使用,简单截图介绍

  

  

Ubuntu server下搭建Maven私服Nexus的更多相关文章

  1. Ubuntu 11.10 Server下搭建Maven私服

      安装Nexus服务的文档可以参考官方站点:http://www.sonatype.com/books/nexus-book/reference/install-sect-install.html ...

  2. Linux下搭建maven私服Nexus 3.2.1-01

    1. 私服介绍私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则, ...

  3. 【原创】Docker 搭建Maven私服nexus 3.17初始密码登录不上问题/admin登陆不上问题

    [原创-转载请说明出处] 博主最近在虚拟机中搭建Maven私服,遇到了一个关键问题就是nexus 3.17版本后初始密码不是admin/admin123. 对于nexus不熟悉的我弄了很长时间!!!心 ...

  4. 持续集成之三:搭建Maven私服Nexus

    安装环境 Red Hat Enterprise Linux Server release 7.3 (Maipo) jdk1.7.0_80 apache-tomcat-7.0.90 mysql-5.7. ...

  5. 内网环境下搭建maven私服小技巧

    背景 最近接手一个其他公司的项目,因为工程中使用了maven,而且里面有很多他们自己封装很多自己的构件(就是jar.war等等),需要将他们maven私服迁移到我们的私服上去,因为网络环境不通,所以不 ...

  6. 基于Docker搭建Maven私服Nexus,Nexus详解

    备注:首先在linux环境安装Java环境和Docker,私服需要的服务器性能和硬盘存储要高一点,内存不足可能到时启动失败,这里以4核8GLinux服务器做演示 一:基于Docker安装nexus3 ...

  7. linux下安装maven私服nexus

    Nexus介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库 ...

  8. 在Ubuntu Server下搭建LAMP环境

    1 LAMP的安装 LAMP通常是指Linux+Apache+MySQL+PHP组合形成的一套可以运行PHP程序的体系,并不是一个软件的名称.没有安装MySQL的服务器依然可以在其它条件完备的情况下运 ...

  9. CentOS7 搭建maven私服Nexus

    下载解压 官网https://www.sonatype.com/download-oss-sonatype 下载页面 https://help.sonatype.com/repomanager2/do ...

随机推荐

  1. Nginx + tornado + supervisor部署

    参考链接:supervisor + Tornado + Nginx 使用详解, 用tornado ,Supervisord ,nginx架网站, tornado官方文档 项目文档树: . ├── ch ...

  2. 如何利用java得到当前的时间和前一天的时间

    1.得到当前的时间 Calendar   cal   =   Calendar.getInstance(); String time=formatter.format(cal.getTime()); ...

  3. Linux和Windows下查看、设置环境变量的比较

    [一]查看环境变量: 1.windows 查看所有的变量:set    范例:>set    查看某个变量的值:set 环境变量名    范例:     >set JAVA_HOME    ...

  4. oracle11g数据库的安装以及安装之后的配置

    1.按照正常的顺序进行安装,然后安装完成后可以对用户进行管理,(设置sys  sysmanager的口令,激活scott的用户并设置新密码) 这一步没什么好多的,关键是进行安装完成之后的配置,这个就比 ...

  5. AutoMapper中的Map和DynamicMap——高手注重细节,思考和总结

    近日在做项目的时候,遇到了个怪问题,关于AutoMapper的细节问题,也是不为一般人所关注的. 本人研究AutoMapper也没有多长时间,而且研究的过程中也写了关于AutoMapper的系列基础教 ...

  6. Linux 进程间通信(一)

    Linux 进程间通信 进程是一个独立的资源分配单位,不同进程之间的资源是相互独立的,没有关联,不能在一个进程中直接访问另一个进程中的资源.但是,进程不是孤立的,不同的进程之间需要信息的交换以及状态的 ...

  7. Entity Framework问题总结

    Entity Framework WITH(NOLOCK) EF本身不支持WITH(NOLOCK), 都指出建议设置事务的级别为允许脏读. IsolationLevel = IsolationLeve ...

  8. python获取当前日期前后N天或N月的日期

    # -*- coding: utf-8 -*- '''获取当前日期前后N天或N月的日期''' from time import strftime, localtime from datetime im ...

  9. 自制一个能显示helloworld的最简单OS

    <自己动手写操作系统> org 07c00h mov ax,cs mov ds,ax mov es,ax call DispStr jmp $ DispStr: mov ax,BootMe ...

  10. verify.js使用验证插件使用

    github:https://github.com/52fhy/verify.js 首先引入js,最好拷贝verify整个目录,因为里面有图标. <script src="verify ...