建立企业内部Maven服务器并使用Android Studio发布公

由于Android Studio使用了Gradle构建工具,在library依赖的处理上是将被依赖的library作为一个module引入(拥有一份完整的library拷贝),而Eclipse的ADT则是直接将library作为外部项目依赖链接进来,两者各有各的优缺点。Android Studio的好处是能时刻保持项目的完整性,每一个项目都包含了整个项目所需要的一切东西,当你把项目共享给别人的时候就不会因为落下某个library而导致别人无法正常打开你的项目。缺点则是多个项目都依赖同一个library,每个项目都有自己一份library代码拷贝,当这个library的代码需要更新的时候,每一个项目中的library代码都需要更新一遍。而Eclipse的library依赖,只是做了一个library链接,多个项目可以链接到同一个library,好处是library需要修改的时候只需要修改一处代码,缺点时与他人共享项目的时候可能会落下library忘记共享。

一般一个公司长期开发累积下来,都会总结出一套自己的SDK或者工具供自己的产品使用。如果使用Android Studio开发,一旦自己的SDK需要更新难免就会遇到前面说的问题。好在Android Studio除了library module依赖这种方法之外,还提供了本地仓库或者(服务器)远程仓库依赖,通过Gradle工具自动从仓库中获取并管理项目所需要的library。Gradle支持maven仓库,早期的Android Studio直接使用的就是maven中央仓库,虽然正式版之后改用jcenter,但是依然可以混用自定义的maven仓库。

Maven权威指南_中文完整版清晰PDF 

Maven 3.1.0 发布,项目构建工具

Linux 安装 Maven

Maven3.0 配置和简单使用

Ubuntu下搭建sun-jdk和Maven2

Maven使用入门

整体上的解决思路分三个步骤:

第一,就是在自己公司内部的服务器上搭建一个maven仓库

第二,将自己公司的公共类库发布到公司内部服务器的maven仓库上

第三,在公司其它项目中配置公司内部服务器maven仓库地址,并引用所需的library,Gradle会自动从服务器maven仓库中获取

1、在自己公司内部服务器上搭建maven仓库

服务器上的maven仓库可以使用Sonatype nexus oss来搭建。sonatype nexus oss 是一个maven仓库管理工具,并提供了web控制台,部署和使用都很方便。

1.1 下载sonatype nexus oss

将sonatype nexus oss下载到公司内部服务器上,下载地址:

1.2 安装并运行sonatype nexus oss

首先确认服务器上是否已经安装JDK,nexus oss的运行需要JDK7或者JDK8。如果没有安装JDK,请先安装JDK。

下载下来的nexus oss是一个zip或者tar.gz压缩包,需要将其解压。你可以将其解压到任何位置,nexus oss的运行对其所在位置没有什么特殊要求。解压后会看到两个文件夹,一个是nexus-x.xx.x-xx,一个sonatype-work。其中nexus-x.xx.x-xx是nexus oss的主目录,所有运行程序和配置文件都在里面。sonatype-work是nexus-oss的数据目录,nexus-oss运行过程的maven仓库数据都在这里面。进入nexus-x.xx.-x-xx/bin目录,window平台的服务器直接运行nexus.bat脚本就可以了。下面详细讲下linux平台的安装和运行。

nexus oss官方建议将nexus-x.xx.x-xx安装到/usr/local目录下,并做个/usr/local/nexus链接指向nexus-x.xx.x-xx目录,方便以后nexus oss版本升级。方法如下

$ sudo cp nexus-x.xx.x-xx-bundle.tar.gz /usr/local
$ cd /usr/local
$ sudo tar xvzf nexus-x.xx.x-xx-bundle.tar.gz
$ sudo ln -s nexus-x.xx.x-xx nexus

如果你下载的是zip压缩包,则使用sudo unzip nexus-x.xx.x-xx-bundle.zip命令解压。

为了方便以后使用,可以添加$NEXUS_HOME环境变量指向/usr/local/nexus。另外,默认配置sonatype-work目录与nexus-x.xx.x-xx在同一个目录下,如果你想讲sonatype-work迁移到其它指定路径,可以修改nexus-x.xx.x-xx/conf/nexus.properties配置文件中的nexus-work变量值。

完成之后,运行nexus oss只需要运行nexus-x.xx.x-xx/bin/nexus脚本,参数可以为console或者start。console会在控制台打印出运行日志。如果有配置NEXUS_HOME环境变量,就可以在任何地方执行下面语句:

$NEXUS_HOME/bin/nexus start

1.3 配置sonatype nexus oss

运行成功之后,在浏览器打开服务器地址:8081/nexus就可以看到nexus oss的控制面板。

点击右上角login登录,默认账号密码为admin/admin123。登录后可以看到以下界面:

建立企业内部Maven服务器并使用Android Studio发布公

左边是功能面板,可以在Repositories里面查看所有的maven仓库,在User里面进行用户管理(修改密码什么的)。点击Repositories,查看maven仓库:

建立企业内部Maven服务器并使用Android Studio发布公

可以看到nexus oss默认已经建好了几个仓库,每个仓库都有自己的一些属性。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/99300a04be7f2f3ebf4cc8d82a4ee60d.html