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/ 找到库,用服务器可以在