博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu下 Maven 私服(Nexus) 安装配置
阅读量:6092 次
发布时间:2019-06-20

本文共 6282 字,大约阅读时间需要 20 分钟。

hot3.png

好了,新建一个 Maven 项目测试一下吧,看看jar包是不是从你指定的私服地址下载的。

OK,重启你的 Ubuntu 试试吧!

然后,在我们要发布的项目所在 POM 文件中<project>标签下加入如下配置:

切记<server>标签 id 要和<distributionManagement>标签中的<repository>标签 id 要一致。

mvn deploy 命令就发布到仓库了!!!

OK,伺服搭建、配置,以及本地 Maven 如何使用私服,基本介绍完毕。若有疑问或不对之处,欢迎联系我指正!

  • 安装环境

    Ubuntu 14.04.3 LTS 64 位

  • Nexus 安装

    首先下载 Nexus 的 Linux 安装包,官方地址:,如果不能打开或无法下载,可以通过我的网盘分享下载:。

    下载完成后,把你的 jdk 安装包上传到 Ubuntu 中 /usr/local/src 目录下,Nexus 是依赖 java jdk 的,如果已经安装好了 jdk,如下命令开始进行安装。()

    • cd /usr/local/srctar –zvxf nexus-latest-bundle.tar.gzmv sonatype-work ../mv nexus-2.11.2-06 ../cd ../nexus-2.11.2-06/bin./nexus start

      nexus 启动失败,错误信息如下:

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

      意思是说如果你想运行这个脚本,必须先设置环境变量RUN_AS_USER=root,那么我们来加入这个环境变量

    • vi /etc/profile# 末尾重起一行加入export RUN_AS_USER=root# 退出保存source /etc/profile # 让环境变量立即生效

      重新执行./nexus start。正常启动了,如果还报错,注意阅读异常信息,耐心 Google Baidu。

      我们可以通过网页访问 ,来查看服务是否安装成功! 登陆的用户名和密码是:admin/amdin123

      •  
      •  
  • 配置 Maven 使用私服下载 jar 包

    通常我们本地配置好 Maven 以后,Maven 默认从http://repo.maven.apache.org/maven2下载jar包,我们如果需要指定 Maven 从自己的伺服下载 jar 包,需要修改 MAVEN_HOME/conf/settings.xml文件(MAVEN_HOME是你 Maven的安装目录),找到 <mirros>标签,在其中加入如下内容:

    •   
      myNexus
        
      *
        
      My Nexus Mirror
        
      http://192.168.0.147:8081/nexus/content/groups/public
        
            
      true
        
          
            
      true
          
  • mirrorOf

    * = everything
    external:* = everything not on the localhost and not file based.
    repo,repo1 = repo or repo1
    *,!repo1 = everything except repo1

  • 从私服下载 snapshots 版本的 jar 包

    进行了如上配置后,默认就从私服下载 jar 包了,但是无法从私服下载到 snapshots 版本的 jar 包和插件。若想下载 snapshots版本需要进行如下配置,找到修改 MAVEN_HOME/conf/settings.xml文件中<profiles>标签,在其中加入如下内容:

    •     
          
      use-local-nexus
          
              
                  
      nexus
                  
      local private nexus
                  
      http://192.168.0.147:8081/nexus/content/groups/public/
                  
                        
      true
                  
                    
                        
      true
                    
                
          
          
          
              
                  
      nexus
                  
      local private nexus
                  
      http://192.168.0.147:8081/nexus/content/groups/public/
                  
                      
      true
                  
                  
                      
      false
                  
              
          
  • Maven私服开机启动设置

    • vi /usr/local/nexus-2.11.2-06/bin/nexus# 修改一下两项NEXUS_HOME="/usr/local/nexus-2.11.2-06"RUN_AS_USER=root# 保存退出
    • vi /etc/rc.local# 在 exit0 之前加入下面一行/usr/local/nexus-2.11.2-06/bin/nexus start
  • 私服讲解

    Maven 安装完成以后,一般我们会对其进行一些配置,使其更易于使用。

    登陆后点击左侧导航的 Repositories ,看到如下图

    100334_DKrR_2374253.jpg

    注意 Type 这一列,Maven 仓库一共有 4 中类型:group,hosted,proxy,virtual。

    • hosted 本地仓库,通常我们会部署自己的构件到这一类型的仓库。如图,安装好私服后,会默认有三个 hosted 类型的仓库,名字分别是 3rd party,Releases,Snapshots。

      • 3rd party 是用来上传一些公共库中没有的jar包,如 Oracle数据库驱动,MySQL数据库驱动。我们将驱动上传到 3rd party 这个仓库以后,项目就能直接通过私服下载数据库驱动了。

      • Releases 我们将自己开发的jar包发布到仓库,如果jar包是 Releases 版本的,jar包会被发布到这个仓库

      • Snapshots,同 Releases 一样,如果我们的 jar 包是 Snapshots版本的,jar包会被发布到这个仓库

         

    • proxy 代理仓库,安装好私服后,会默认有一个名为 Central 的仓库,它是一个代理仓库。也就是说,假如你请求私服下载 jar 包,但是私服中没有此 jar 包,那么私服会通过代理仓库来下载你请求的 jar 包。你可以配置多个代理仓库,配置完代理仓库后,记得将代理仓库加入Public Repositories组。另外记得将代理仓库的 Download Remote Indexes 选项设置为 true 。这里说几个常用的代理仓库地址:

      • https://repository.apache.org/snapshots/

      • http://repo1.maven.org/maven2/ (Central 库的地址就是这个)

      • https://nexus.codehaus.org/snapshots/

      • http://maven.oschina.net/content/groups/public/ (开源中国的Maven仓库)

      • http://repository.sonatype.org/content/groups/forge/

    • group,仓库组。仓库组中可以加入多个hosted/proxy类型的仓库。它相当于hosted/proxy类型的仓库集合,所以我们配置 Maven 从私服下载 jar 包时,一般把 Maven 私服地址指向这个仓库组,而不指向具体某个 hosted/proxy类型的仓库。

    • 上面说的上传 jar 包到 hosted 类型仓库,添加一个 proxy 代理仓库,以及在group中加入多个 hosted/proxy类型的仓库,你可以参考这篇文章

  • 发布自己的 jar 包到私服

    首先,MAVEN_HOME/conf/settings.xml文件中<servers>标签下加入如下配置:

    •   
      nexus-releases
        
      admin
        
      admin123
        
        
        
      nexus-snapshots
        
      admin
        
      admin123
        
    • nexus-releases
      Nexus Release Repository
      http://192.168.0.147:8081/nexus/content/repositories/releases/
      nexus-snapshots
      Nexus Snapshot Repository
      http://192.168.0.147:8081/nexus/content/repositories/snapshots/

其它需要注意的问题及推荐

  1. 尽量不要配置mirrorOf为*, 会导致pom文件中的repository不生效
  2. 私服的配置推荐用profile配置而不是mirror(毕竟mirror是镜像,私服其实是n个镜像及自己的开发库等的合集)
     
    nexus
    nexus
    http://192.168.163.xx:xx/nexus/content/groups/public/
    true
    true
    nexus
    http://192.168.163.xx:xx/nexus/content/groups/public/
    true
    true
    nexus

     

 

转载于:https://my.oschina.net/ironwill/blog/521225

你可能感兴趣的文章
centos下安装JAVA开发工具(3)------Mysql
查看>>
JS 实现文字滚动显示
查看>>
php实现依赖注入(DI)和控制反转(IOC)
查看>>
如何搭建高质量、高效率的前端工程体系--页面结构继承
查看>>
白山云科技 CTO 童剑:空降后,如何有技术又有艺术地破局?
查看>>
自动化运维工具Ansible之roles
查看>>
MongoDB分片搭建
查看>>
5、Jenkins Email Extension Plugin插件使用说明
查看>>
Flex(mx:DataGrid)实现数据过滤显示
查看>>
【Python】软件管理工具--pip
查看>>
删除Sybase数据库设备
查看>>
Eclipse编译PostgreSQL 9.2.2
查看>>
Class字节码文件结构详解
查看>>
[又拍云]云计算中又一架重要的马车
查看>>
Ruby on Rails 学习笔记(一)
查看>>
Linux下安装pymysql步骤
查看>>
PHP+MySQL数据库教程
查看>>
jQuery UI Datepicker 添加时分秒
查看>>
linux查看和终止进程
查看>>
Beyond Compare比较表格小技巧
查看>>