借鉴原文:http://blog.bihe0832.com/private_maven.html
首先,你的电脑里要有JDK,此处略;
其次我的电脑是Mac.部分配置和路径和windows不同 不过大同小异。
1. 安装Sonatype Nexus
下载
wget http://www.sonatype.org/downloads/nexus-latest-bundle.tar.gz
运行效果图.jpg
此时我的文件夹下有如下文件:nexus-latest-bundle.tar.gz
解压
tar zxvf nexus-latest-bundle.tar.gz
得到文件夹nexus-2.14.3-02 后面是版本号,可能有所不同
结构如图
nexus-2.14.3-02结构
至于把这个文件夹放在那里 各位自便
修改变量和配置
修改的文件为 nexus主目录/bin/nexus 文件
修改之前我设置了环境变量NEXUS_HOME 为我的nexus文件夹
主目录并且设置了PATH,这是一个习惯。
以下变量:
export NEXUS_HOME="xxx/Library/nexus-2.14.3-02"
export RUN_AS_USER=root
export PLATFORM=macosx-universal-64
export PLATFORM_DIR=${NEXUS_HOME}/bin/jsw/${PLATFORM}
export PATH="${PATH}:${PLATFORM_DIR}:xxxxxxxx(我的其他变量)"
测试
启动服务
因为我们设置的角色为root,所以先切换
sudo su
然后启动服务,此命令在 xxx/nexus/bin 下
nexus start
Nexus安装完成,成功启动服务以后,打开浏览器,输入: http://localhost:8081/nexus/即可打开配置管理的页面。正常打开则说明安装成功了。
浏览器界面内配置
配置Respository
点击界面右上角 “Log in”,然后输入账号密码(默认用户名:admin密码:admin123)即可登入管理。
进入界面以后,点击左侧Repositories,右侧会出现很多库的配置:
Public Repositories: 仓库组
3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库
Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库
Central: 用来代理maven中央仓库中发布版本构件的仓库
Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库
Codehaus Snapshots: 用来代理CodehausMaven 仓库的快照版本构件的仓库
Releases: 用来部署管理内部的发布版本构件的宿主类型仓库
Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库
点击add,选择 proxy Repository,然后添加相关配置。下图为个人添加阿里云的镜像的相关配置:
阿里云镜像.jpg
配置完所有配置以后点击save,即可把阿里云添加到代理仓库。
创建Nexus仓库组:
图示.jpg 双击.jpg 运行结果,全OK证明已经成功上传.jpg
检查我的maven
已经传成功了.jpg
在项目目录下的build.gradle 也就是最外层的build.gradle中添加如下:
allprojects {
repositories {
jcenter()
//添加如下 此处具体位置各位按自己库配置即可
maven {url GOUNP_REPOSITORY_URL}
}
}
在主module文件夹 build.gradle中 也就是自己写主要代码那个文件夹里,添加:
compile 'group_id:FlycoRoundView_Lib:0.0.1'
注意此处各位写的时候,格式为:
compile 'groupid:artifactId:version'
然后去掉原来的module对FlycoRoundView_Lib项目的引用,移除FlycoRoundView_Lib文件夹(虽然移除但是我没删除,防止以后万一改源码),运行整个项目, 成功运行,没有报错,针对该项目的引用被成功移动到我的私有maven库中,项目跑起来的时候不会再编译FlycoRoundView_Lib引用库了,也就节省了编译运行的时间。
网友评论