Windows下安装Nexus3.x搭建Maven仓库
使用android studio或者idea开发应用时,除了可以依赖本地的库之外,还可以依赖网上(公有maven服务器、私有maven服务器、jcenter等)。如果是依赖本地的,必须要将依赖的module和主工程放在一个project里面,这就导致了每个project都需要配置这些依赖关系,如果是公司内多个工程依赖同一个公司内部的控件,控件有更新时,同步非常麻烦,但公司内部的控件不可能部署到公有maven服务器上,所以有必要搭建一个局域网内的maven服务器,方便管理公司内部的公共库。
Nexus
3.x版本只能运行在JVM8及以上
本地内部仓库在本地构建nexus私服的好处:
- 加速构建、稳定;
- 节省带宽、节省中央maven仓库的带宽;
- 控制和审计;
- 能够部署第三方构件;
- 可以建立本地内部仓库、可以建立公共仓库
下载了3.x - OS X的源码包之后,解压文件得到两个目录:
nexus-xxx:该目录包含了Nexus运行时所需要的文件,如启动脚本等。
sonatype-work:该目录包含了Nexus生成的配置文件,日志文件,仓库文件等。
运行
cmd 到nexus-xxx\bin文件夹 输入
1 | nexus /run |
安装为服务
1 | nexus.exe /install <optional-service-name> #安装 |
浏览器访问 http://localhost:8081/
创建代码仓库
默认登录用户名密码(admin admin123)
Nexus的主要的仓库类型:
- hosted(宿主):宿主仓库主要用于存放项目部署的构件、或者第三方构件用于提供下载。
- proxy(代理):代理仓库就是对远程仓库的一种代理,从远程仓库下载构件和插件然后缓存在Nexus仓库中
- group(仓库组):对我们已经配置完的仓库的一种组合策略。
Nexus内置的仓库就已经包含了主要的仓库类型:
- maven-central:代理中央仓库、策略为Release、只会下载和缓存中央仓库中的发布版本构件。
- maven-releases:策略为Release的宿主仓库、用来部署组织内部的发布版本内容。
- maven-snapshots:策略为Snapshot的宿主仓库、用来部署组织内部的快照版本内容。
- maven-public:该仓库将上述所有策略为Release的仓库聚合并通过一致的地址提供服务。
- nuget-hosted:用来部署nuget构件的宿主仓库
- nuget.org-proxy:代理nuget远程仓库,下载和缓冲nuget构件。
- nuget-group:该仓库组将nuget-hosted与nuget.org-proxy仓库聚合并通过一致的地址提供服务。
- maven-public:该仓库组将maven-central,maven-releases与maven-snapshots仓库聚合并通过一致的地址提供服务。
点击 Repository 下 Repositories 创建仓库
Gradle打包上传
idea
新建gradle项目,在build.gragle中编写配置
1 | group 'com.example.mylibrary' |
运行 uploadArchives 进行上传
android studio
新建app项目,然后新建库(android.library 或者 java.library),在build.gragle中编写配置
1 | apply plugin: 'com.android.library' |
运行 uploadArchives 进行上传
查看
项目引用
配置 Project 的build.gradle文件:
1 | allprojects { |
然后在 module 的 build.gradle 中添加依赖即可:
1 |
|