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

来源:互联网 发布:局域网视频监控软件 编辑:程序博客网 时间:2024/05/18 01:07

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 sectionapplication-port=9999 //端口修改 其余的不用动application-host=0.0.0.0 nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xmlnexus-context-path=/# Nexus sectionnexus-edition=nexus-pro-editionnexus-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_profilesetjdk 1.8mvn -version

运行结果如下:

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)Maven home: /Users/apple/Documents/apache-maven-3.3.9Java version: 1.8.0_112, vendor: Oracle CorporationJava home: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jreDefault locale: zh_CN, platform encoding: UTF-8OS 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= adminPASSWORD= admin123#包信息ARTIFACTID = datetimepicker LIBRARY_VERSION = 1.0.5GROUP_ID= cn.jesse.androidLIB_TYPE= aarLIB_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 0
原创粉丝点击