本文首发于
本文首发于我的博客,欢迎访问
选择 Maven 的理由:范围最广的
官方介绍:
The free artifact repository with universal support for popular formats.
10 million developers trust Nexus
来个全套的,私有仓库搭建-->代码上传-->远程依赖
系统 环境:windows 64
软件版本:Nexus Respository Manager OSS 3.x
无论安装还是启动,非管理员用户必须以 管理员身份 运行命令行,管理员身份,管理员!重要说三遍
<!-- more -->
安装时提示:
Could not open SCManager.
不用想了,以管理员身份重新打开命令行吧
下载安装
自行下载安装包 Nexus Repository Manager
替你们找好 免费版 了
假设,安装包解压路径为D:\IDE\nexus-3.9.0-01-win64\nexus-3.9.0-01
命令:进入解压路径:
C:\Windows\system32>cd D:\IDE\nexus-3.9.0-01-win64\nexus-3.9.0-01\bin
添加全路径到环境变量,直接执行命令
安装:
nexus.exe/install
当看到下面的提示,恭喜,成了
Installed service 'nexus'.
仓库服务操作
只要 想对仓库做些事儿,就得 以管理员身份登录
下面俩命令挺重要的,记住
开启服务
nexus.exe/start
成功提示
Starting service 'nexus'.
等待大概 5-10 秒左右,启动需要时间
端口号 『8081』
在浏览器地址栏输入 『你自己的 ip地址:8081』,或者 『
localhost:8081
』 -进入 仓库管理页面
localhost:8081 192.168.13.32:8081
停止服务
nexus.exe/stop
成功提示如下:
Stopping service 'nexus'. Service stopped
上面的内容,记不住也没关系
仓库搭建
登录
管理员身份:user: admin pd: admin123,默认的,可以修改密码
仓库创建
丢个图:
既然要 Maven 仓库,当然选择 Maven 了
可以创建出三种不同类型的仓库
再丢个图:
最简单,不用任何配置的当属 hosted ,其他两种自行感受,我们以最简单最直接最快看到结果为目的
仓库名称 不支持中文(废话)
仓库来了:
点进去,看看 仓库地址吧
现在,仓库有了,地址有了,该发布 『远程依赖包』 了
代码上传
信息配置
build.gradle
文件
重要信息:repository,pom
repository 包含:仓库地址,用户信息
pom 包含 上传到仓库后,我们使用的 『远程依赖 』信息
apply plugin: 'maven'uploadArchives { repositories.mavenDeployer { repository(url:"http://localhost:8081/repository/Test1/") { authentication(userName:"admin", password:"admin123") } // 以com.android.support:appcompat-v7:25.1.0为对比 pom.version="0.0.1" // 对应版本号 25.1.0 pom.artifactId="virtualapk" // 对应 appcompat-v7 pom.groupId="com.android.support" // com.android.support } }
上传
Gradle --> 待上传module -->upload-->uploadArchives
过程不说了,没啥点
看结果,丢图
有人说,呀,我配置错了,想删了重新上传,咋办
别急,看这:
选中你的版本号,然后右侧删除,再刷新一下,哦了
这里的远程的意思是:不是我本地磁盘里的
配置 远程仓库地址
不配这个地址,你就等着吧,默认的远程公共仓库根本没有
工程.gradle 文件
allprojects { repositories { .... //此处的远程仓库地址就是上面上传的地址 maven { url "http://localhost:8081/repository/TEST/" } } }
当然,如果只有个别的 module 需要本地仓库 依赖,配到需要的 module 里就好了。
依赖语法
跟 正常的远程依赖一样,没区别
implementation 'groupId:artifactId:version'
implementation 'com.android.support:virtualapk:0.0.1'
同步一下
再验证一下
jar 包都有了,还能说啥
补充一句:自己的私有仓库提供给其他人用的话,把localhost 缓存 你自己的ip 地址