一.背景
最近在搞Gradle,然后看到搭建自己的Maven库,所以试试,搭建maven库需要使用Nexus Repository
去这个网站下载https://www.sonatype.com/download-oss-sonatype ,但是注意了要下载这个,因为这个才支持Maven(页面有写的)

二.安装
1.进入这个文件运行install-nexus.bat

2.然后进入下面这个页面运行nexus start

3.在网页中打开nexus repository
在浏览器中输入http://localhost:8081/nexus/#welcome
3.创建仓库
进去页面记得log in 初始账号:admin 初始密码:admin123
开始创建仓库
add -> hosted repository

把箭头1,2填了,箭头3是选择是否可以重新部署
写完之后就可以保存
4.上传自己的包到Maven库
(1)方法一

但是这个方法我没试过,有兴趣可以试试
(2)通过代码上传
首先在Android项目中创建一个Module,然后在他的gradle中写上传代码,也许你会问为什么,因为Module是作为依赖模块存在,在gradle中是apply "app.application.libary"这样才会生成aar文件,然后才能上传
其次就是在Module的build.gradle中写代码
apply plugin: 'maven'
apply plugin: 'signing'
signing {
required { has("release") && gradle.taskGraph.hasTask("uploadArchives") }
sign configurations.archives
}
uploadArchives {
configuration = configurations.archives
repositories.mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
repository(url: 'http://localhost:8081/nexus/content/repositories/JasonMavenID/') {//仓库地址
authentication(userName: "admin",//用户名
password: "admin123")//密码
}
pom.project {
name 'JasonMaven'
packaging 'aar'
description 'none'
url 'http://localhost:8081/nexus/content/repositories/JasonMavenID/'//仓库地址
groupId "com.daxiong" //groupId:artifactId:version
artifactId "Jason" //LibA
version "1.0"
}
}
}
然后在terminal中运行gradlew uploadArchives,如果build success那就是上传成功了
5.引入自己Maven库
在顶端build.gradle中加入
allprojects {
repositories {
mavenCentral()
maven {
url "http://localhost:8081/nexus/content/repositories/JasonMavenID/"
}
}
}
这里有个问题为什么不能直接加载buildscript中的repository中????待解决,如果加了就不能正常引入
然后在dependency
中加入
compile 'com.daxiong:Jason:1.0'
然后就可以直接在项目中用这个库的方法
所以引入自己的Maven就是这么简单,但是具体细节待摸索
945

被折叠的 条评论
为什么被折叠?



