github是一样很好用的工具,除了能作为开源项目的搜索工具外,还能用来搭建maven仓库,方便远程的使用。为此,我查阅了一些资料也结合了一些博主的博客,一步步试验最后成功搭建出了这样的maven仓库,在这里我将整个搭建的过程分享给大家。
一、准备
准备好两样必要的工具 git和gradle
1.安装git,直接下载一个
安装之后,附带着也会安装好git环境
重新启动终端,输入 git --version
如果输出的类似截图的结果的话则git环境配置好了。
2.安装gradle
下载好之后,会得到一个zip文件,解压即可
在bin里面的gradle文件就是我们所需要的,我们将其配置到系统环境变量中即可。
windows中将路径配置到环境参数,mac/ninux中将路径添加到 ~/.bash_profile中。
之后重新打开终端,输入gradle -v
如果成功打印出了gradle的版本信息的话则表示gradle配置成功。
二、步骤
整个操作主要分为以下几个步骤:
1.第一步当然是在github上创建一个repository
2.创建lib工程
3.生成maven文件
4.上传到github
5.工程远程调用
三、详细操作
1.在github上创建repository
在github上创建好repository之后,可以在电脑本地的创建一个空的文件夹命名为MavenTest,作为本地的repository,终端进入到该文件夹,依次输入:
git init
git remote add origin git@github.com:OboBear/MavenTest.git
将该目录与远程仓库进行绑定
这个时候作为测试,也可以创建一个README文件
里面随便输入一些东西,之后提交到github上面
第一次提交的时候使用命令:
git push -u origin master
推送成功之后,将会在github上看到推送上去的README文件。
2.创建lib工程
打开android studio,随便创建一个测试主工程。
之后再创建一个module,module类型是 Android Library,如图所示
名字随便取,这里为了方便取为:maventest
创建一个测试类名为MavenTestActivity (可以创建任意的类)
这里创建了一个测试用的Activity的虚类,内容可以随便编写,只要没有语法错误就行
3.生成maven文件
先选择本地一个空的文件目录作为maven文件的存放的地方
然后打开android studio中的gradle.properties文件
在gradle.properties的最后一行加入所选择的目录的路径:
打开该modul的build.gradle(非工程的gradle)文件
在开头的地方添加一行
apply plugin: 'maven'
然后再最后添加以下内容:
这里面groupId可以填包名,artifactId可以填module名称,version是当前module的版本,可以填1.0 (这三个参数都可以自己决定,这个最后影响的是调用这个远程库的时候compile里面所要填写的值,比如按照图片的参数来的话,最后使用的时候得写 compile 'com.obo:mavantest:1.0')
一整个build.gradle的内容如下:
然后打开终端,cd到该gradle文件所在的目录,运行输入命令:
gradle uploadArchives
就会开始运行gradle,稍微等待一点时间
如果最后gradle运行结果没有报错的话,则会在之前所选定的MavenTest目录下生成一组文件。(与github绑定的本地目录)
最里面的那些就是我们所需要的Maven文件。
我们打开maven-metadata.xml,可以看到里面的参数都已经配置完毕了。
而实际上,我们也可以看到在目录1.0下面有一个maventest-1.0.aar文件,其实就是
4.上传到github
终端进入到该目录下(MavenTest目录),依次输入:
git add ./ //将整个目录下的改变全部添加
git commit -m “toast” //将修改进行提交
git push origin master //将master分支推送仓库
当然也可以使用github desktop可视化工具方便地进行以上全部的操作。
完成之后,在网页上打开github,可以看到内容全部都推送上去了,操作很成功。
复制出当前界面的连接地址,比如
对其进行修改:
即 github.com ——> raw.githubusercontent.com
再在末尾追加/master
表示当前要选用的是master分支的内容
5.工程远程调用
打开需要调用该远程maven的module的build.gradle
在最后增加:
repositories {
jcenter()
maven {
url "https://raw.githubusercontent.com/OboBear/MavenTest/master"
}
}
如果原先就已经存在repository了的话,则直接在里面添加,这里的url的值就是我们修改后的链接,表示要将该链接作为自定义仓库的地址。
之后在dependencies下增加
dependencies{
compile 'com.obo:maventest:1.0'
}
编译一遍,如果没有错误的话则说明远程调用成功了,之后就可以在程序里调用了。
到此,整个远程的库配置结束。
---------------------------------------------------------------------------------
本例子中,github上的maven库所存放的链接为:
https://github.com/OboBear/mavenRepository
整个工程的代码例子所存放的链接为:
https://github.com/OboBear/MavenGithub
(工程名称和链接地址都改过了,但是思路还是一样的,例子也是可以运行的)