android studio 构建maven私有库环境搭建

1、maven运行需要jdk1.8版本的,首先安装jdk1.8
下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jdk1.8 和 1.7 可以共存的,执行mvn 时需要jdk1.8,因此需要切换版本

/usr/libexec/java_home -v 1.8 //jdk版本切换

建议在~/.bash_profile添加如下代码

#jdk切换
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
#setjdk 1.8 切换到jdk8   1.7 
setjdk() {
          export JAVA_HOME=$(/usr/libexec/java_home -v $1)
}

source ~/.bash_profile

setjdk 1.8 //切换jdk版本,不影响其他软件使用jdk1.7

2、Nexus 是一个maven管理界面
下载链接 https://www.sonatype.com/download-oss-sonatype
解压:tar -zxvf nexus-3.1.0-04-mac.tgz
环境配置:

export PATH=/Users/apple/Documents/nexus-3.1.0-04/bin:$PATH

Usage: ./bin/nexus {start|stop|run|run-redirect|status|restart|force-reload}

source ~/.bash_profile

修改配置文件 安装目录下有 etc/nexus-default.properties文件,

# Jetty section
application-port=9999 //端口修改 其余的不用动
application-host=0.0.0.0 
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
 nexus-pro-feature

执行 nexus start 结果nexus is running 说明nexus 安装成功
浏览器访问地址 http://127.0.0.1:9999/nexus
默认用户:admin 密码:admin123
首页
选择建厂库
点击create repository
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
3、maven下载安装(以下内容都是在mac平台上的环境配置,其余平台自行google或度娘)
下载链接:http://maven.apache.org/download.cgi

安装:
解压安装包:tar -zxvf apache-maven-3.3.9-bin.tar.gz
解压到 ~/Documents目录下面(自选路径)
配置环境路径,vi ~/.bash_profile 或 /etc/profile 添加bin路径

export PATH=/Users/apple/Documents/apache-maven-3.3.9/bin:$PATH

如果添加在~/.bash_profile 里面 每次都要执行source ~/.bash_profile,建议放在/etc/profile
测试,环境变量是否成功:

source ~/.bash_profile
setjdk 1.8
mvn -version

运行结果如下:

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /Users/apple/Documents/apache-maven-3.3.9
Java version: 1.8.0_112, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.5", arch: "x86_64", family: "mac"

配置maven 在解压目录中有conf/settings.xml

私有库存在的位置 android studio 里面引用的是file:Users/apple/projects/maven
<localRepository>/Users/apple/projects/maven</localRepository> 

nexus 服务器
<server>
     <id>my-nexus-releases</id>
     <username>admin</username>
     <password>admin123</password>
   </server>
   <server>
     <id>my-nexus-snapshot</id>
     <username>admin</username>
     <password>admin123</password>
   </server>
   //镜像 maven 库的路径
       <mirror>
         <id>nexus</id>
         <url>http://127.0.0.1:9999/repository/cody/</url>
         <mirrorOf>*</mirrorOf>
       </mirror>
       //nexus 配置
<profile>
       <id>nexusProfile</id>
         <repositories>
           <repository>
             <id>nexus</id>
             <name>Nexus Repository</name>
             <url>http://127.0.0.1:9999/repository/cody/</url>
             <layout>default</layout>
             <releases>
               <enabled>true</enabled>
             </releases>
             <snapshots>
             <enabled>true</enabled>
           </snapshots>
         </repository>
       </repositories>
     </profile>
     //激活
<activeProfiles>
     <activeProfile>nexusProfile</activeProfile>
   </activeProfiles>

上面都ok了,开始构建项目工程
android 创建一个空工程,然后建一个module, 随意选,推荐使用lib module
在该module的gradle.properties 添加如下信息

#用户信息
USER_NAME= admin
PASSWORD= admin123

#包信息
ARTIFACTID = datetimepicker 
LIBRARY_VERSION = 1.0.5
GROUP_ID= cn.jesse.android
LIB_TYPE= aar
LIB_DESCRIPTION= dependences lib


#Mac下地址:file:///Users/<username>/my/local/repo 
#LOCAL_REPO_URL=file:///Users/apple/projects/maven #本地的地址
LOCAL_REPO_URL= http://127.0.0.1:9999/repository/cody/  #服务器地址

在build.gradle文件最下面添加如下

apply plugin: 'maven'
uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: LOCAL_REPO_URL) {
                authentication(userName: USER_NAME, password: PASSWORD)
            }

            pom.project {
                version LIBRARY_VERSION
                artifactId ARTIFACTID
                groupId GROUP_ID
                packaging LIB_TYPE
                description LIB_DESCRIPTION
            }
        }
    }
}

version 版本
artifactId 库名
groupId 组名
上面上个比较重要,在android studio 应用时需要这个三个值

应用形式
compile groupId:artifactId:version 

命令行执行 gradle uploadArchives
如果没安装gradle的请自行安装。
到此服务器上就能看到上传的库了
这里写图片描述
项目引用
在项目build.gradle 添加

allprojects {
    repositories {
        jcenter()
        mavenLocal()

        maven {
        //url 'file:///Users/apple/projects/maven/' //本地
            url 'http://127.0.0.1:9999/repository/cody/' //服务器
        }
    }
}

在app build.gradle 添加

compile 'cn.jesse.android:datetimepicker:1.0.2'

到此私有库环境搭建成功
本地地址可以 /Users/apple/projects/maven/ 找到库,用服务器可以在
这里写图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值