频道栏目
首页 > 资讯 > Android > 正文

Maven基础与私服搭建

16-08-19        来源:[db:作者]  
收藏   我要投稿

Blog诞生记

Android studio构建项目有时候build.gradld构建缓慢,严重影响了开发心情,这仅是次要因素,最重要的是leader为了考虑团队发展,建议搭建Maven私服,把项目模块化,按照module各自维护,把module push到maven私服,后续开发将依赖搭建的maven私服来开发,服从leader要求,开始了maven学习之路,先了解了maven基础知识,再搭建maven私服,测试zbar二维码扫描上传module和依赖私服module,便学编写,blog就此诞生了..

Maven基础知识

下载地址(注意JDK要求1.7+)

http://maven.apache.org/download.cgi

配置环境变量

校验安装maven环境搭建

cmd命令行输入命令

mvn -v

Maven与HelloWorld

先来认识Maven项目的目录层次结构

根据上图结构目录,先新建idea.analyzesystem.maven包,再分别在其下家新建HelloWorldHelper.java和HelloWorldTest.java类,在完成上述内容后开始编写pom.xml文件,pom.xml文件的基本框架


  4.0.0

编写pom文件首先呢项目定位

   // 项目包名 
   // 模块名称,建议使用项目名称
   // 版本号

其次呢项目如果用了第三方包需要在pom里面声明,比如HelloWorld示例(代码下载链接在文末)用到了junit,需要在pom声明如下(如果你项目有用到其他的包,直接参照下列代码结构编辑即可)

 
    
      junit
      junit
      4.10
    
  

最后把pom.xml文件放置到src文件夹同级目录,运行cmd命令行,切换到项目下面,执行命令

mvn compile

如果你是第一次执行该命令会看到如下图效果(会下载很多包)

当你看到下图效果表示编译ok了

运行测试用例 mvn test 命令

项目编译后会在src同级目录默认生成一个target文件夹,target内部结构目录如下

我们在运行mvn package命令生成jar包,build success之后再回到target目录如下


Maven 核心知识

Clean与install命令

mvn clean // 删除编译生成的target文件夹

install命令

mvn install //把 mvn package 生成的jar包安装到本地

根据以上只是进行了一次小实践,编译生成一个jar供一个工程调用,操作步凑如下

这里简单贴一下pom.xml文件


  4.0.0

  idea.analyzesystem.maven2
  maven-simple2
  0.0.1SANPSHOT

  
    
      junit
      junit
      4.10
    

    
      idea.analyzesystem.maven
      maven-simple
      0.0.1SANPSHOT
    
  

自动构建目录骨架(archetype插件)

首先创建项目目录,再进入命令提示符使用archetype命令(第一次运行会执行一些下载依赖)

mvn archetype:generate

在选择好版本后,开始配置基本信息。

以上是一次配置信息完成自动构建,我们也可以通过一条命令直接配置完成构建。

mvn archetype:generate -DgroupId=xxx -DartifactId=xx -Dversion=xxx -Dpackage=xxx

Maven的坐标与仓库

Maven根据pom文件配置的坐标,现在本地查找,如果找不到就回去中央仓库查找。

在Maven安装的目录下找到lib目录下的maven-model-builder-3.3.9.jar,用压缩工具打开跟进目录你会发现pom-4.0.0.xml,所有的pom文件都继承自它

根据浏览器预览可以发现中央仓库地址

https://repo.maven.apache.org/maven2/

https://search.maven.org/ //这里同样可以访问,可以检索出你想要的jar

天朝的网络壁垒,我们常常无法访问国外服务器,但是可以通过访问镜像达到目的,maven在天朝是有镜像仓库的,我们可以直接访问国内镜像仓库,这样访问速度更快更稳定。那么如何访问国内镜像仓库呢?打开安装目录下的conf目录,找到settting.xml配置文件,定位到如下图位置

提供了一个默认配置镜像示例,根据示例修改添加镜像配置如下:


     
      maven.net.cn
      central
      Central mirror in china
      http://maven.net.cn/content/groups/public
    
  

这里额外提供几个镜像配置(个人用lattern就不需要镜像了)

    
        nexus-osc
        central
        Nexus osc
        http://maven.oschina.net/content/groups/public/
    
     
                osc_thirdparty
                thirdparty
                http://maven.oschina.net/content/repositories/thirdparty/
     
       
          repo2  
          central  
          Human Readable Name for this Mirror.  
          http://repo2.maven.org/maven2/  
      

添加上面的中央仓库镜像以后,访问都直接访问镜像中央仓库,而原中央仓库将不再访问。

根据坐标从中央仓库找到的jar等下载到本地仓库,默认c盘目录下,如下图

跟进目录就可以发现自己install的jar,如idea 之前install的helloworld相关的jar

这些文件我们一般都不会放在c盘,都会自定义目录存放,那么如何更改仓库位置呢?同样离不开setting.xml

D:\workspace\maven\maven-repo //路径

// 把setting.xml文件拷贝一份到该目录下

Maven插件安装就不多说了,对个人来说没啥意思,下面来看看pom.xml的元素标签

      
//之前用过了这些标签,这里提一下version:  "0.0.0" ,第一位表示大版本号,第二位表示分支版本号,第三位表示小版本号。


 //标签指项目描述名称

 //项目地址

 //项目描述

 //开发人员信息

........

  //依赖列表

一个项目可能有多个依赖jar或者第三方工程,这里使用pom就需要添加多个依赖项

 //依赖范围 ,限定作用域

依赖范围、依赖冲突、聚合与继承暂不做过多学习了,日后再说吧,如果你想了解可以上imooc上面搜maven相关视频教程,基础了解到此就好。

Nexus下载与安装

下载地址

http://www.sonatype.com/download-oss-sonatype

安装下一步就好,端口号个人用的默认配置8081,你可以修改适合的端口号(如果你是下载zip,需要自己配置环境变量相关的),安装好以后浏览器打开地址

http://localhost:8081/

使用默认登陆账号admin,密码:admin123

完成登陆后创建一个仓库如下图

完善上面信息创建成功如下

这个路径很重要,在后面会有提到,对于上面选择maven2-(hosted)你有疑问,可以参考下面一篇blog

http://www.cnblogs.com/luotaoyeah/p/3791966.html

Nexus与Android Studio

上面体验了一把Nexus,创建仓库,现在需要通过Android Studio项目,找到module zbar二维码扫描module,把他上传到创建好的Idea里面去,流程请参考下面博客(做人不能太无耻了,劳动成果我不能随意切去别人的哈)

http://juude.net/nexus_maven/

补充两点:

url路径组成就是上面我截图标出,build.gradle里面的路径也是指向这里,有个误区我看他blog里面提到的是”xxx/xxx/xx-id”,本人测试栽进去了

命令执行在这里

上传ok以后再通过下面流程可以查看

compile的组成

compile com.zbar.lib:zbar:1.0

小结

maven私服搭建是非常有必要的,好处不多说,谁用谁知道!!本周学习进度缓慢,下周尽量加快进度,小逗逼要休假一天了,周一见..

相关TAG标签
上一篇:iOS开发 - 第05篇 - 项目 - 11 - const & git & 项目重构
下一篇:Picasso源码分析
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站