私服是一种特殊的远程仓库。搭建具体步骤如下:
第一步:
下载nexus。
百度 nexus官网:
填写好信息,直接下载压缩包到本地,并进行解压。如下图:
第二步:
进入解压的文件的nexus-3.17.0-01-win64\nexus-3.17.0-01\bin,目录下:
启动nexus,注意:双击nexus.exe图标和右键以管理员的身份运行都是不行的。
我的方式是在当前文件夹下,shift键+鼠标右击。然后选择 在此处打开命令窗口
(注意:win10系统shift+右键出现的是powershell窗口,用.\nexus install,我试了没效果。我的解决办法是,在这个窗口通:start cmd出来cmd的窗口,然后用下面的方法启动Nexus.):
输入下面的命令,回车:
nexus.exe /run
等待片刻…出现如下图:
即为Nexus启动成功。
第三步:
Nexus默认端口是8080,如被占用需要更改。
在浏览器,地址栏输入:http://127.0.0.1:8081/ 就可以看到Nexus的图形界面了。
以 admin的账号进行登录。
去这个地址找初始化的登录密码。成功登录。
如下图,可以创建新的用户。
我暂时先用admin账号测试。
注意:新建用户这里我遇到的一个坑就是,3.17版本的Nexus新建用户默认,下图(允许匿名用户访问服务器
)是不勾选的,导致后面访问不到数据。我改成3.16版本的Nexus新建用户默认是开启的。所以用3.17版本的注意一下这个坑。
创建maven(hosted)仓库:
Deployment pollcy:这里选择Allow redeploy。
创建好了就可以看到我们创建的仓库了。
第四步:
配置项目进行上传。
如图新建了一个library的module。只写了一个测试的方法:
接下来是把这个library给上传到刚才搭建的私服仓库中。
1:在library module的根路径下创建一个maven-publish.gradle文件。
内容代码如下:
apply plugin: "maven"
def username = ""
def pwd = ""
def nexusRepositoryUrl = "http://127.0.0.1:8081/repository/nuxusTest/"
def VERSION_NAME = '1.0.0'
def ARTIFACT_ID = 'nuxusTest'
def GROUP_ID = 'com.yzp'
uploadArchives {
repositories {
mavenDeployer {
repository(url: nexusRepositoryUrl) {
authentication(userName:username, password: pwd)
}
pom.project {
artifactId ARTIFACT_ID
version VERSION_NAME
groupId GROUP_ID
packaging 'aar'
description 'lib des'
}
}
}
}
username和pwd为你Nexus的账号密码,下面的参数自己配置一下。
2:在library module的build.gradle文件的顶部,添加:
apply from: './maven-publish.gradle'
3:配置完成之后。点击android studio的右侧栏的gradle:
双击这个uploadArchives。
就可以看到上传成功:
去网页上看到:
这个就是我们刚刚上传上来的文件。
至此上传已经成功!
使用方法:
android studio中,在项目的build.gradle中配置(127.0.0.1在别的电脑上需要更改为你主机的ip地址!!,用户名和密码一般在拉代码是不需要添加的,上传是需要添加的!!)
allprojects {
repositories {
google()
jcenter()
maven {
url 'http://127.0.0.1:8081/repository/nuxusTest/'
credentials {
username ''
password ''
}
}
}
}
在app的build.gradle中添加依赖:
implementation 'com.yzp.lib:nuxusTest:1.0.0'
Sync完成。
调用方法:
到此就成功的使用了上传到私服的library。