搭建个人的Maven仓库

这里介绍在CentOS系统搭建nexus maven私服中央仓库。

Nexus下载及安装配置

下载nexus应用包,并解压。

1
2
3
4
cd ./programdir  //应用目录
wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-03-bundle.tar.gz //下载安装包,国外服务器,过程比较慢
mkdir nexus //创建nexus目录
tar -xzvf nexus-2.11.2-03-bundle.tar.gz -C nexus //解压应用

修改配置文件

1
2
3
4
5
6
cd nexus
ls //应用包含2个目录:nexus-2.11.2-03 sonatype-work
cd nexus-2.11.2-03/conf //配置文件目录
cat nexus.properties //配置文件(可修改端口号和工作目录)
cd ../bin //进入运行目录
cat nexus //运行文件(修改:RUN_AS_USER=root)

启动nexus

1
./nexus start  //在应用的bin目录启动

控制台提示下列信息表示启动成功:


WARNING - NOT RECOMMENDED TO RUN AS ROOT


Starting Nexus OSS…
Started Nexus OSS.
在浏览器打开:http://ip:8081/nexus 登录:用户名admin 默认密码:admin123
登录后可以在“Security”-“Users”中,可以创建新用户及设置用户权限。

android studio 将本地的library上传到 maven 仓库

1.创建 library Module;
2.在library的build.gradle文件中导入插件:
apply plugin: 'maven'
3.在library的build.gradle文件中配置“uploadArchives”任务:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// 仓库地址及用户配置
def ACCOUNT = "user"
def PASSWORD = "123456"
def POM_URL = "http://127.0.0.1:8081/nexus/content/repositories/Android/"
// 仓库名配置: 'test.library.hat:hat:1.0.0'
def POM_GROUP_ID = 'test.library.hat'
def POM_ARTIFACT_ID = 'hat'
def POM_VERSION = '1.0.0'

uploadArchives {
repositories {
mavenDeployer {
repository(url: POM_URL) {
authentication(userName: ACCOUNT, password: PASSWORD)
}
pom.groupId = POM_GROUP_ID
pom.artifactId = POM_ARTIFACT_ID
pom.version = POM_VERSION

pom.project {
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
}
}
}
}

4.打包上传到仓库
方式一:执行library对应Module的 upload-uploadArchives task [侧边Gradle工具栏];
方式二:执行 gradlew upload 命令;
完成后即可在nexus仓库中查看到对应版本的library。
5.工程中引入library

1
2
3
4
5
6
7
8
9
// 添加仓库地址
repositories {
maven { url "http://127.0.0.1:8081/nexus/content/repositories/Android/" }
}
// 导入library
dependencies {
……
implementation 'test.library.hat:hat:1.0.0'
}