前提:
最近一直在做SDK开发,因为SDK是给特定的用户服务的,所以需要对SDK的安全性慎重考虑。之前一直在 JitPack上面发布私有库,让用户可以很方便的集成。但是,JitPack有时间限制。所以,就萌生了自己搭建私服的想法。刚好,今天刚配置起来,趁热打铁顺便撸一篇文章,既是给自己做一个笔记。也是为了给不太明白的小伙伴讲解一下,不足之处还望大佬指正。
第一步:
话不多说,直接开始配置。首先,需要到nexus官网下载文件,如下图所示
第二步:
- 1、 nexus下载下来后就是配置了,先解压到指定文件夹下,我这里是放到E:\programFiles\nexus文件夹下的,解压文件,进入到E:\programFiles\nexus\nexus-3.18.1-01\bin文件夹下,将,E:\programFiles\nexus\nexus-3.18.1-01\bin添加到Path环境变量中,如下图所示
- 2、打开命令行窗口,跳转到E:\programFiles\nexus\nexus-3.18.1-01\bin路径下,并且执行,nexus.exe/start命令,如下图所示,这样就成功了。然后,在浏览器输入http://localhost:8081/ 默认8081端口,就ok了,如下图所示,因为我这里改了默认端口和密码,所以端口不一样
第三步:
再讲两点,关于密码和默认端口的
-
1、网上大部分博客都会讲默认的用户名和密码分别是admin和admin123。但是,如果你在3.x上面直接输入是进不去的。会有一个Incorrect username or password, or no permission to use the application.错误提示,如下图所示:
至于怎么解决呢?来,看这边,当nexus解压之后会有两个文件夹nexus3.x和sonatype-work, 默认的密码在sonatype-work文件夹下,会有一个admin.password的文件,里面就是默认的密码,复制即可,然后输入用户名:admin,密码:就是复制的那一串数字字母组合的东东。进去之后会让你更改密码,改成你自己的密码即可。 -
2、修改默认的端口
在你的nexus路径下的etc文件夹下的nexus-default.properties里面修改,我这里的路径是E:\programFiles\nexus\nexus-3.18.1-01\etc,打开nexus-default.properties文件,如下图所示,修改默认端口8081为8092即可。
3、启动服务(设置为自动启动)
在命令行下进入到你的Nexus路径下,安装nexus 服务,我这里的是E:\programFiles\nexus\nexus-3.18.1-01\bin 路径,所以在命令行的E:\programFiles\nexus\nexus-3.18.1-01\bin路径下直接输入:nexus.exe /install nexus,其中nexus为服务名,如下图所示:
打开控制面板——>管理工具——>服务,打开服务,在服务列表里面就可以看到我们刚才安装的服务,然后右键属性,设置为自动启动即可。
注意:因为我这里已经是自动模式,所以不需要再设置,你们可以根据自己的状态进行设置。
第四步:
在nexus中创建项目路径
打开maven路径配置设置文件
注意:如上图所示这里我的maven路径是E:\programFiles\maven\conf,你要找到你自己的maven路径进行设置
打开Android studio上传库到nexus中
-
1、打开工程下的build文件,配置maven
allprojects { repositories { mavenLocal() } }
2、打开moudle下的build文件配置
apply plugin: 'maven'
uploadArchives {
repositories.mavenDeployer {
repository(url:"http://192.168.196.126:8092/repository/sdk/") {
authentication(userName:"admin", password:"123123")
}
// 以com.android.support:appcompat-v7:25.1.0为对比
pom.version="0.0.1" // 对应版本号 25.1.0
pom.artifactId="LTGameXX-Core" // 对应 appcompat-v7
pom.groupId="com.gnetop.XX" // com.android.support
}
}
- 3、通过task进行上传
添加本地依赖库
-
1、打开你工程的build文件,添加相关配置
maven { url 'http://192.168.196.126:8092/repository/sdk/' credentials { username 'admin' password '123123' } }
-
2、打开你moudle的build文件,添加gradle依赖
注意: 我这里的是:
implementation 'com.gnetop.xx:Game-Core:0.0.1'
第五步:
利用转向代理工具让外网可以使用你的私有库
- 1、转向代理工具地址
(链接:https://pan.baidu.com/s/1rFWy53r8Ra7RfAdU2SsnZw 提取码:keik) -
2、使用
下载解压后双击运行.bat文件即可,当然如果你需要修改端口号也可以查看源码更改端口。
注意: 我这里的端口是8092,修改成你自己使用的端口保存后双击运行即可,然后把之前你自己本地的地址加端口换成生成的域名即可。
第六步:
到这里nexus配置私服和使用,并且供外网使用的过程就完了。如果有不懂的地方可以加群(493180098),我们共同探讨一下。