最近在项目中使用到Maven本地仓库,之前用Maven只是用别人的库做依赖。而对与上传本地仓库或外部仓库还不是很了解,在学习了别人的技术文章后在这里做一些总结。
maven的仓库分两类:
1、本地仓库
maven在本地存储构件的地方。
maven本地仓库的默认位置:在用户的目录下.m2/repository/的仓库目录。
2、远程仓库
两个 Maven 中央库:mavenCentral 和 jcenter。
部署在内网服务器的私有仓库。
Maven在本地仓库中的对应存储路径:
1、groupId唯一标识符:com.android.dzrefresh 对应路径:com/android/dzrefresh
2、artifactId类似于项目名称:App 对应路径:com/android/dzrefresh/App
3、version版本号:1.0.0 对应路径:com/android/dzrefresh/App/1.0.0
对应得也就是:
compile 'com.android.dzrefresh:App:1.0.0'
指定本地仓库路径:
自定义本地路径:
repositories {
maven { url 'D://Users/user2/.m2/repository' }
//repository(url: "file://"+getRootDir()+"/repository")
def localUrl = 'file://'+getRootDir()+'/repository'
allprojects {
repositories {
maven { url localUrl }
mavenCentral()
}
}
默认本地路径:
repositories {
mavenLocal()
}
一、新建一个Android项目
在项目下创建一个Libary(如果直接在Android项目下发布到本地仓库会生成apk包,而lib下生成的是aar包可以作为依赖使用)。
二、配置参数
在Library也就是刚才创建的AndroidLib下的gradle.build中添加
apply plugin: 'maven'
uploadArchives{
repositories.mavenDeployer{
// 本地仓库路径
repository(url:"file://D://Users/user2/.m2/repository/")
// 唯一标识
pom.groupId = "com.android.dzrefresh"
// 项目名称
pom.artifactId = "App"
// 版本号
pom.version = "1.0.0"
}
}
也可以通过maven-publish方式发布
apply plugin: 'maven-publish'
publishing {
publications {
maven(MavenPublication) {
artifact "D://DZRefresh/xxlib/build/outputs/aar/xxlib-debug.aar"
groupId "com.android.dzrefresh"
artifactId "APP"
version "1.0.0"
}
}
}
三、发布到本地仓库
maven方式命令
gradlew uploadArchives
maven-publish方式
gradlew publishToMavenLocal
四、使用本地库:
1、在Android项目下的build.gradle文件中配置路径
repositories {
jcenter()
mavenLocal()
}
2、引用
compile 'com.android.dzrefresh:App:1.0.0'
作者:x小明
链接:https://www.jianshu.com/p/cff4684803f3
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
ref:
https://blog.csdn.net/qq_30379689/article/details/81432291
https://blog.csdn.net/u011840744/article/details/50608677
https://blog.csdn.net/zsf442553199/article/details/77882531
原来aar中的远程依赖库都在这里进行了声明,看来只引用aar文件是不够的。
在要引入aar的中加入:
compile 'zhousf.lib:sdk-zhousf:1.0-SNAPSHOT'
运行检查结果,的确没有问题,aar中的远程依赖库okhtt3可以正常使用了。
输入Terminal命令检验下:gradlew :app:dependencies --configuration compile
https://www.cnblogs.com/bluestorm/p/6757999.html
https://blog.csdn.net/zhaoyanjun6/article/details/78523958
https://blog.csdn.net/mysimplelove/article/details/79390046