使用 Gradle 和 Sonatype Nexus 搭建自己的 Maven 仓库
2015-08-26 12:33
543 查看
http://www.open-open.com/lib/view/open1434522817864.html
原文 http://juude.net/nexus_maven/
如果你的公司有多个Android app应用需要开发,那么很有可能你需要私有的公共库。本文介绍如何使用sonar nexus搭建maven仓库。
从 http://www.sonatype.org/nexus/go/上下载tar.gz或者zip格式压缩包。并且解压到本地,然后进入bin目录,执行nexus
在浏览器中输入:127.0.0.1:8081/nexus可以看到这样的页面
,表示已经安装成功了。
回到顶部
使用nexus默认账户名admin,密码admin123。登录进去看到已经建立了十几个仓库。
点击工具栏add -> 选择hosted repository,然后填入repository id,和repository name-> 保存,这样就可以建立新的仓库了。
如图,建立了一个名为juude的仓库。
回到顶部
在已经建好的android library项目的build.gradle文件中,加入以下配置:
?
现在在项目根目录执行./gradlew tasks,就可以看到多了一个选项:
然后执行
如果没有报错,就成功上传自己的library了。
回到顶部
由于没有使用maven center,使用的时候需要提供自己的url地址,在build.gradle中加入:
?
然后在dependency里加入compile语句。
这样就可以正常使用了。
原文 http://juude.net/nexus_maven/
如果你的公司有多个Android app应用需要开发,那么很有可能你需要私有的公共库。本文介绍如何使用sonar nexus搭建maven仓库。
1. 安装Nexus
从 http://www.sonatype.org/nexus/go/上下载tar.gz或者zip格式压缩包。并且解压到本地,然后进入bin目录,执行nexuscd nexus-2.11.1-01/bin ./nexus start
在浏览器中输入:127.0.0.1:8081/nexus可以看到这样的页面
,表示已经安装成功了。
回到顶部
2. 建立仓库
使用nexus默认账户名admin,密码admin123。登录进去看到已经建立了十几个仓库。点击工具栏add -> 选择hosted repository,然后填入repository id,和repository name-> 保存,这样就可以建立新的仓库了。
如图,建立了一个名为juude的仓库。
回到顶部
3. 上传library
在已经建好的android library项目的build.gradle文件中,加入以下配置:?
Upload tasks ------------ uploadArchives - Uploads all artifacts belonging to configuration ':library:archives'
然后执行
./gradlew uploadArchives
如果没有报错,就成功上传自己的library了。
回到顶部
4. 使用library
由于没有使用maven center,使用的时候需要提供自己的url地址,在build.gradle中加入:?
dependencies { ... compile 'net.juude.droidviews:droidViews:1.0' }
这样就可以正常使用了。
相关文章推荐
- Java数据库编程
- Spring报错BeanNotOfRequiredTypeException
- 初学svn的记录
- C#实现读取被进程占用的文件实现方法
- UVA327暴力讨论所有情况
- 获取正在运行的进程列表
- 全排列
- Gradle入门系列(3):依赖管理
- c# 面相对象4-多态性
- Android布局特效(一)
- 翻译:Gradle之依赖管理
- UVALive 6959 Judging Troubles map应用
- 实现SSH/SCP不用输入帐号密码
- (译)缓存在AFNetworking中是如何工作的?AFImageCache和NSUrlCache给你答案
- [LeedCode OJ]#171 Excel Sheet Column Number
- UVALive 6959 Judging Troubles map应用
- tcpdump使用详解
- Resin Thread Dump
- Android 安全概述
- [关于jQuery的事件代理] jQuery的.bind()、.live()和.delegate()之间区别