Blog诞生记
Android studio构建项目有时候build.gradld构建缓慢,严重影响了开发心情,这仅是次要因素,最重要的是leader为了考虑团队发展,建议搭建Maven私服,把项目模块化,按照module各自维护,把module push到maven私服,后续开发将依赖搭建的maven私服来开发,服从leader要求,开始了maven学习之路,先了解了maven基础知识,再搭建maven私服,测试zbar二维码扫描上传module和依赖私服module,便学编写,blog就此诞生了..
Maven基础知识
下载地址(注意JDK要求1.7+)
- 1
- 1
配置环境变量
校验安装maven环境搭建
cmd命令行输入命令
- 1
- 1
Maven与HelloWorld
先来认识Maven项目的目录层次结构
根据上图结构目录,先新建idea.analyzesystem.maven包,再分别在其下家新建HelloWorldHelper.Java和HelloWorldTest.java类,在完成上述内容后开始编写pom.xml文件,pom.xml文件的基本框架
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
编写pom文件首先呢项目定位
- 1
- 2
- 3
- 1
- 2
- 3
其次呢项目如果用了第三方包需要在pom里面声明,比如HelloWorld示例(代码下载链接在文末)用到了junit,需要在pom声明如下(如果你项目有用到其他的包,直接参照下列代码结构编辑即可)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
最后把pom.xml文件放置到src文件夹同级目录,运行cmd命令行,切换到项目下面,执行命令
- 1
- 1
如果你是第一次执行该命令会看到如下图效果(会下载很多包)
当你看到下图效果表示编译ok了
运行测试用例 mvn test 命令
项目编译后会在src同级目录默认生成一个target文件夹,target内部结构目录如下
我们在运行mvn package命令生成jar包,build success之后再回到target目录如下
Maven 核心知识
Clean与install命令
- 1
- 1
install命令
- 1
- 1
根据以上只是进行了一次小实践,编译生成一个jar供一个工程调用,操作步凑如下
这里简单贴一下pom.xml文件
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
自动构建目录骨架(archetype插件)
首先创建项目目录,再进入命令提示符使用archetype命令(第一次运行会执行一些下载依赖)
- 1
- 1
在选择好版本后,开始配置基本信息。
以上是一次配置信息完成自动构建,我们也可以通过一条命令直接配置完成构建。
- 1
- 1
Maven的坐标与仓库
Maven根据pom文件配置的坐标,现在本地查找,如果找不到就回去中央仓库查找。
在Maven安装的目录下找到lib目录下的maven-model-builder-3.3.9.jar,用压缩工具打开跟进目录你会发现pom-4.0.0.xml,所有的pom文件都继承自它
根据浏览器预览可以发现中央仓库地址
- 1
- 2
- 3
- 1
- 2
- 3
天朝的网络壁垒,我们常常无法访问国外服务器,但是可以通过访问镜像达到目的,maven在天朝是有镜像仓库的,我们可以直接访问国内镜像仓库,这样访问速度更快更稳定。那么如何访问国内镜像仓库呢?打开安装目录下的conf目录,找到settting.xml配置文件,定位到如下图位置
提供了一个默认配置镜像示例,根据示例修改添加镜像配置如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
这里额外提供几个镜像配置(个人用lattern就不需要镜像了)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
添加上面的中央仓库镜像以后,访问都直接访问镜像中央仓库,而原中央仓库将不再访问。
根据坐标从中央仓库找到的jar等下载到本地仓库,默认c盘目录下,如下图
跟进目录就可以发现自己install的jar,如idea 之前install的helloworld相关的jar
这些文件我们一般都不会放在c盘,都会自定义目录存放,那么如何更改仓库位置呢?同样离不开setting.xml
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
Maven插件安装就不多说了,对个人来说没啥意思,下面来看看pom.xml的元素标签
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
依赖范围、依赖冲突、聚合与继承暂不做过多学习了,日后再说吧,如果你想了解可以上imooc上面搜maven相关视频教程,基础了解到此就好。
Nexus下载与安装
下载地址
- 1
- 1
安装下一步就好,端口号个人用的默认配置8081,你可以修改适合的端口号(如果你是下载zip,需要自己配置环境变量相关的),安装好以后浏览器打开地址
- 1
- 1
使用默认登陆账号admin,密码:admin123
完成登陆后创建一个仓库如下图
完善上面信息创建成功如下
这个路径很重要,在后面会有提到,对于上面选择maven2-(hosted)你有疑问,可以参考下面一篇blog
Nexus与Android Studio
上面体验了一把Nexus,创建仓库,现在需要通过Android Studio项目,找到module zbar二维码扫描module,把他上传到创建好的Idea里面去,流程请参考下面博客(做人不能太无耻了,劳动成果我不能随意切去别人的哈)
补充两点:
url路径组成就是上面我截图标出,build.gradle里面的路径也是指向这里,有个误区我看他blog里面提到的是”xxx/xxx/xx-id”,本人测试栽进去了
命令执行在这里
上传ok以后再通过下面流程可以查看
compile的组成
- 1
- 1
小结
maven私服搭建是非常有必要的,好处不多说,谁用谁知道!!本周学习进度缓慢,下周尽量加快进度,小逗逼要休假一天了,周一见..