ubuntu下使用Nexus搭建Maven私服

1、私服简介:

私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。

我们可以使用专门的 Maven 仓库管理软件来搭建私服,比如:Apache Archiva,Artifactory,Sonatype Nexus。这里我们使用 Sonatype Nexus。

2 . 安装Nexus

Nexus 专业版是需要付费的,这里我们下载开源版 Nexus OSS。

Nexus下载地址:http://www.sonatype.org/nexus/go

将下载好的压缩包放到目标服务器,进行解压

解压之后在目录里面会得到nexus-2.14.3-02和sonatype-work这两个文件夹,其中nexus-2.14.3-02是Nexus的系统文件,sonatype-work是Maven私服的工作目录,我们上传和下载的jar都在这里面;

接下来,我们要去改Nexus的运行端口,以免启动时端口冲突,进入nexus-2.14.3-02里面的conf目录,修改nexus.properties这个文件

因为Maven存放的是jar包,在上传时需要编译,所以需要配置jdk的路径

进入bin目录下的jsw中的conf,修改wrapper.conf这个文件

配置完jdk的路径后,可以使用bin目录下的nexus脚本(其实是使用同级目录下的nexus.bat操作nexus)启动nexus服务

执行时会有相应的提示;

Nexus运行时,日志会在logs目录下打印,出现问题是别忘了去看看日志;

服务开启之后,找个浏览器访问http://192.168.100.52:8081/nexus IP输入你自己的,

3、简单的使用:

登陆Nexus,默认的用户名是:admin、密码是:admin123

介绍一下这些仓库都是什么:

3rd parth:第三方库,主要存放一些第三方的jar包;

Apached Snapshots:apache的开发版本的jar仓库;

Central:中央仓库,这里存放的是中央仓库的jar包;

Central M1 shadow: 这是中央仓库的一个虚拟仓库;

Releases:这是我们上传私服时的仓库,存放的是稳定版本的jar包;

Snapshots:这是存放开发版本的jar包;

Public repositories:这是一个仓库组,可以把上述的仓库添加到这个仓库组中;

接下来,就要下载索引了,没有索引,私服就没法去外网的Maven中央仓库中下载jar包了,需要跟新的有Central、Apached Snapshots这两个库

在页面上下载,我想你也看到这,下面有个update index的选项,一般来说,中央仓库的索引每周会更新一次,我们可以每个月更新一次就行了,第一次下载的时间比较长,比较目前的索引达到了2个多G、可以在Scheduler tasks页面上看更新任务的进度:

当然,也可以采取手动更新的方式更新索引

到中心仓库下载最新版本的索引文件

http://repo.maven.apache.org/maven2/.index/

拉到最后下载nexus-maven-repository-index.gz

nexus-maven-repository-index.properties这两个文件

其中nexus-maven-repository-index.properties如果没法下载,就只能点击进去复制了;

出了这两个文件,还需要一个indexer-cli-5.1.1.jar来解压

将这三个文件放到同一文件夹中,并执行

java -jar indexer-cli-5.1.1.jar -u nexus-maven-repository-index.gz -d indexer

这句命令开始解压,可能时间有点长,估计要20多分钟;

解压完成后,将indexer(解压时会自动创建这个文件夹)下的所以文件copy到sonatype-work/nexus/indexer/central-ctx目录下,重启Nexus

至此,Nexus配置Maven私服就完成了;

附:Nexus开机自启

1、         在/etx/init.d中新增可执行脚本nexus,nexus内容如下:

其中红色框中的内容必须要加,这个是系统识别开机自启的依据

因为nexus不支持root启动

所以,在启动时切换到普通用户来启动

2、         配置启动级别:

1、/etx/init.d中新增可执行脚本nexus后并不会添加到service服务器管理器中,需要执行命令:update-rc.d nexus dafaults 来添加到service服务器管理器中;

2、配置nexus的启动级别:

注意:一开始使用update-rc.d nexus enable时,在rc2.d中生成的软连接是S20nexus这与我们想要的S99nexus相差有点远,因为我们是需要nexus最后启动的,而根据启动级别的规则,最小(0-99)的最先启动,所以我们要把软连接改为S99nexus;

所以手动创建软连接:

这样只要重启机器就能够实现nexus自动启动了

ubuntu下使用Nexus搭建Maven私服的更多相关文章

  1. Linux下使用Nexus搭建Maven私服

    在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包放在外部是不合适的.另外,由于项目一直在开发中,这些内部的依赖可能也在不断的更新.可以通过搭建公司内部的Maven服务器,将第三方和内部的 ...

  2. Windows下使用Nexus搭建Maven私服(安装)

    一.下载Nexus 下载OSS最新版:https://www.sonatype.com/download-oss-sonatype 老版本:https://support.sonatype.com/h ...

  3. Windows下使用Nexus搭建Maven私服

    A    http://www.pianshen.com/article/249363068/ nexus3安装与配置 B https://www.cnblogs.com/hujunzheng/p/9 ...

  4. Windows下使用Nexus搭建Maven私服(使用)

    注意: 1.从3.0版本的Nexus开始,已经不再缓存https://repo1.maven.org/maven2/的包,所以当安装好之后,在界面上不会有任何的包可以搜索到,但是功能是一切正常的,只有 ...

  5. Maven-004-使用 Nexus 搭建 maven 私服

    从去年至今,自己一直在学习自动化测试工具,想利用自动化工具尽可能的将重复的.关键的.耗时耗力的工作实现自动化,减轻日常测试工作,提升测试效率.在学习的过程中,将 maven 作为了项目开发管理工具,进 ...

  6. Maven使用笔记(五)Sonatype Nexus 搭建Maven 私服

    1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地, 而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载 ...

  7. Maven——使用Nexus搭建Maven私服

    原文:http://www.cnblogs.com/xdp-gacl/p/4068967.html Maven学习总结(九)--使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要 ...

  8. (转)Maven学习总结(九)——使用Nexus搭建Maven私服

    孤傲苍狼只为成功找方法,不为失败找借口! Maven学习总结(九)——使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目 ...

  9. Maven学习二:使用Nexus搭建Maven私服及相关配置

    处于安全等原因的考虑,一些企业内部网络是不允许访问外部网络的,但是项目内部搭建的项目又是Maven架构,这样就需要企业在内部网络中搭建自己的Maven仓库服务,再者一些大型企业或者内部模块化组件化划分 ...

随机推荐

  1. mysql 在Linux 配置 主从同步

    一.主服务器相关配置 1.创建同步账户并指定服务器地址 [root@localhost ~]mysql -uroot -pmysql>use mysqlmysql>grant replic ...

  2. 洛谷 U6850 手机密码

    U6850 手机密码 题目背景 小明的手机上设了一个由四个数字组成的密码,但是小明自己的记性不好,但又不想把密码直接记在纸上,于是便想了一个方法. 题目描述 小明有四行数字,每行数字都有n[i](&l ...

  3. HttpClient异步请求Post传递Json

    HttpClient异步Post请求,HttpClient.PostAsync(String, HttpContent, CancellationToken),String为Post的Url,Http ...

  4. POJ 2184

    简单的01背包,把S看体积,把F看价值,把它们变正数处理就可以了.在处理负数时,因为减一个负数相当于加一个,所以要从前往后. #include <iostream> #include &l ...

  5. Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)

    Java ZIP压缩和解压缩文件(解决中文文件名乱码问题) 学习了:http://www.tuicool.com/articles/V7BBvy 引用原文: JDK中自带的ZipOutputStrea ...

  6. Ambari-单步创建cluster

    Ambari-单步创建 总体介绍 单步创建集群即对于集群内每个服务的安装.开启.组成服务的每个组件host信息的设置等操作都进行一次ambari-server的restAPI的调用. 这样做提高了对集 ...

  7. [C++设计模式] iterator 迭代器模式

    迭代器模式定义:提供一种方法顺序訪问一个聚合对象中各个元素,而又不须要暴露该对象. 迭代器分内部迭代器和外部迭代器.内部迭代器与对象耦合紧密,不推荐使用. 外部迭代器与聚合容器的内部对象松耦合,推荐使 ...

  8. HDU 4912 lca贪心

    Paths on the tree Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  9. hdoj--5532--Almost Sorted Array(正反LIS)

    Almost Sorted Array Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...

  10. 转:centos下升级git版本的操作记录

    https://www.cnblogs.com/kevingrace/p/8252517.html 在使用git pull.git push.git clone的时候,或者在使用jenkins发版的时 ...