目录
前言
搭建流程
Centos安装jdk(略)
Centos安装maven
Centos安装nexus
问题二、Detected execution as root user. This is NOT recommended
问题三、默认密码不是 admin admin123
问题四、如何修改访问端口号
Android 依赖库的上传
Android添加依赖 (使用)
参考
前言
组件化过程,拆分lib,将通用lib抽取成单独的module,并将其打包成了aar,就想着也是可以去迭代、上传和发布版本,就想着搭建一个自己的maven来实现依赖版本更迭,百度若干帖子,最终实现,这里记录和汇总下整个流程
搭建流程
Centos安装jdk(略)
我这里使用的是自己的阿里云服务器,之前有搭建过Jenkins,用于Android项目自动化构建,这里就不再赘述jdk的安装过程了,不了解的同学可以参考之前的文章 《基于Centos安装jdk》
Centos安装maven
maven 是apache的,可以去官网下载所需版本 https://maven.apache.org/download.cgi
我这里使用的是 bin.tar.gz 后缀的包,下载后上传到服务器特定位置,我这里上传到了 /usr/local/ 下,进行解压以及配置环境变量即可,下面给出命令
//进入上一级目录
cd ..
//进入 /usr/local下
cd /usr/local/
//解压上传的 maven 压缩包
tar -zxvf apache-maven-3.8.2-bin.tar.gz
//进入 root用户
sudo -i
// vim编辑进入 profile进行环境变量配置
vim /etc/profile
//添加maven环境变量
export PATH=$PATH:/usr/local/apache-maven-3.8.2/bin
//刷新环境变量
source /etc/profile
//测试mvn 能看到maven 版本号 表示成功 Apache Maven 3.8.2
mvn -v
这里给出百度网盘maven包链接 https://pan.baidu.com/s/1xTibCANxzwpm2wA8x8ePiA 提取码 09yj
Centos安装nexus
nexus是用来管理maven仓库的软件 ,下载地址 https://my.sonatype.com/
注意下载位置 在 Latest Releases下 ,download后 Unix 才是安装在服务器上的版本
这里也给出百度云链接
链接:https://pan.baidu.com/s/1KQEY0nXU9ghwYHJm2Mn2_A
提取码:l3p8
下载后上传到服务器特定位置 我这里还是上传到了 /usr/local/ 下,后面解压配置环境变量 运行及状态查询 ,给出下面的命令
//解压
tar -zxvf nexus-3.33.0-01-unix.tar.gz
//进入root
sudo -i
//配置环境变量
vim /etc/profile
export NEXUS_HOME=/usr/local/nexus-3.33.0-01
export PATH=$PATH:$NEXUS_HOME/bin
cd /nexus-3.33.0-01
//启动
./nexus start
// 通过域名访问 nexus 浏览器输入 ip:8081
// 默认 8081 为nexus端口
问题一、VM内存不足
我第一次操作是失败了的 ,在 nexus-3.33.0-01 下发现了 hs_err_pidxxx.log
发现了 Out of Memory Error 错误,查了不少资料,基本上是jdk和nexus配置问题
想到了我服务器只有1核2g,找到了配置nexus jvm内存的位置,修改后成功启动并且可以访问了
//编辑 vm 配置
vim nexus.vmoptions
//修改前三行配置的 内存大小,修改前好像是2703 具体忘记了,但也大于2g了
-Xms256m
-Xmx256m
-XX:MaxDirectMemorySize=512m
重写启动后 解决了这个问题
问题二、Detected execution as root user. This is NOT recommended
常规错误,百度后解决,主要修改配置文件中以 必须以root作为用户的配置设置为false,下面给出命令
cd /usr/local/nexus-3.33.0-01/bin/
vim nexus
//修改变量 修改前为true
run_as_root=false
问题三、默认密码不是 admin admin123
登陆时需要填写账号密码 ,但之前版本的默认密码 admin admin123 提示密码错误
进入 /usr/local/sonatype-work/nexus3/下 可以看到一个 admin.password
使用vim 命令编辑,进入后将密码复制出来即可
问题四、如何修改访问端口号
vim /usr/local/sonatype-work/nexus3/etc/nexus.properties
// 修改下面的端口号即可
application-port=8081
注意:阿里云可能需要添加8081到安全组
我这里能顺利访问了,访问路径 ip:8081
Android 依赖库的上传
给 module /lib下 build.gradle添加上传脚本,再执行上传操作即可
下面给出配置
plugins {
...
id 'maven'
}
uploadArchives {
configuration = configurations.archives
repositories {
mavenDeployer {
//下面的xxx为服务器ip
//xxx 为admin 匹配的登陆密码
repository(url: 'http://xxx.xxx.xxx.xxx:8081/repository/maven-releases/') {
authentication(userName: 'admin', password: 'xxx')
}
pom.project {
version '1.0.2'
artifactId 'Library'
groupId 'com.xxx.library'
packaging 'aar'
description 'change desc'
}
}
}
}
在进行upload 操作即可 ,gradle工具栏下 uploadArchives
Android添加依赖 (使用)
project build.gradle
allprojects {
repositories {
...
maven {
url 'http://xxx.xxx.xxx.xxx:8081/repository/maven-releases'
//这个路径就是Browse下maven-release右边有一个copy按钮,复制出来的。
}
}
}
module下 build.gradle
dependencies {
...
implementation ('com.xxx.library:Library:1.0.2')
}
参考
https://www.cnblogs.com/fan-gx/p/11371984.html
https://blog.csdn.net/u011943534/article/details/106006235