CentOS上搭建私有maven仓库,提供jcenter镜像

最近发现gradle在使用过程中,由于功夫墙的原因更新略慢,所以就折腾在自己的服务器上部署下私有仓库代理,首先在私有仓库中查找是否已经有依赖包,如果没有再重远程中央仓库中去下载到本地,这样的好处就是可以减少对于中央仓库的依赖,减轻中央仓库压力。由于我的服务器直连国外,所以从中央仓库中去下载的速度也是很快的,基本上可以满足团队开发。

一.首先给CentOS安装JDK

1.查看CentOS自带JDK是否已安装,输入:

yum list installed |grep java

一般来说,如果是新装CentOS系统的话,不会有JDK,如果有的话,就执行相关卸载操作,大概会是这样的:

openjdk

yum -y remove java-1.7.0-openjdk*

tzdata-java

yum -y remove tzdata-java.noarch

一般会有卸载完毕提示。

2.开始安装oracle jdk

查看yum库中的Java安装包

yum -y list java*

会出现一堆列表,然后翻看下最新的jdk版本号,我安装的是1.8.0,将java-1.8.0相关的都安装上:

yum -y install java-1.7.0-openjdk*

3.查看刚安装的Java版本信息,输入:

java -version

至此,jdk已经安装完毕了。

二.安装Sonatype Nexus

Sonatype Nexus是现在比较流行和成熟的私有仓库搭建工具,透过nexus可以很轻松的搭建私有仓库,而且搭建起来也非常容易。

1.下载nexus,进入http://www.sonatype.org/nexus/archived/页面,选择一个最新的压缩包,下载到服务器:

wget http://download.sonatype.com/nexus/oss/nexus-2.11.1-01-bundle.tar.gz

2.解压

tar zxvf nexus-2.11.1-01-bundle.tar.gz

3.移动到其他目录

mv nexus-2.1.2 /usr/loal/nexus

4.设置为系统自启动服务

cd /etc/init.d/
cp /usr/local/nexus/bin/jsw/linux-x86-32/nexus nexus

5.编辑/etc/init.d/nexus文件,添加以下变量定义:

NEXUS_HOME=/usr/local/nexus
PLATFORM=linux-x86-32
PLATFORM_DIR="${NEXUS_HOME}/bin/jsw/${PLATFORM}"

修改以下变量:

WRAPPER_CMD="${PLATFORM_DIR}/wrapper"
WRAPPER_CONF="${PLATFORM_DIR}/../conf/wrapper.conf"
PIDDIR="${NEXUS_HOME}"

修改如下变量,设置启动用户为root:

RUN_AS_USER=root

6.执行命令添加nexus自启动服务

chkconfig –add nexus
chkconfig –levels 345 nexus on

7.执行如下命令启动、停止nexus服务

service nexus start
service nexus stop

至此,nexus安装完毕

三.验证和配置Nexus

nexus安装完成以后,一般在路径: http://sever_ip:8081/nexus/ 打开以后会出现配置管理页面,说明安装成功了。点击右上角“Log in”,输入用户名和密码(默认用户名:admin密码:admin123)登录。

nexus里面有很多功能,对于我来说只需要用到 proxy 这个功能,主要是代理远程中央仓库,并缓存数据到私有仓库,具体配置过程也很简单,就不多赘述了,由于我安装过程中没有截图,所以只能去截个已经安装好的图

CentOS上搭建私有maven仓库,提供jcenter镜像

好了,放大招了,贡献上我的jcenter镜像:http://jcenter.chengyong.net
---- 2016.08.17 update -----
由于服务器扛不住了,只能停掉了jcenter,有需要的可以使用:
开源中国:http://maven.oschina.net/content/groups/public/
ibiblio:http://mirrors.ibiblio.org/maven2/
jboss:http://repository.jboss.org/nexus/content/groups/public/
maven2:http://repo2.maven.org/maven2/

标签:jcenter, maven, gradle, sonatype nexus