1/pom文件官网解读
http://maven.apache.org/pom.html
基本结构:
一. 根节点 project,命名空间,由于xml标签属性可自定义为防止冲突增加命名空间,类似于java类的全限定名起到唯一标识作用,在android资源文件layout中
使用自定义属性时有用到命名空间,以及android:tools命名空间;xsi XML Schema Instance xml标签所遵循的规范,说白了就是你的pom文件要按这个规则来写
参考文案:http://blog.csdn.net/zhch152/article/details/8191377
二, 三要素 <groupId> <artifactId><version>
<groupId> Note that the dot-notated groupId does not have to correspond to the package structure that the project contains. It is,
however, a good practice to follow. 非必要条件,但是建议这么做,即采用与项目包结构一致的写法
<artifactId> 别名,便于项目间交流使用吧,Although the groupId is important, people within the group will rarely mention the groupId
in discussion,与groupId一起构成project的标示
<version> 基于版本的控制,用于标示不同的版本,常见1.0-SNAPSHOT,SNAPSHOT表示maven采用快照仓库,具体
参见资料:http://blog.csdn.net/carolzhang8406/article/details/6996206
三,<packaging> 构建目标 android--apk,aar,jar等
四,<properties> 全局变量定义,在pom各处可以通过${key}引用,设置编码格式等
五,<dependencies><dependency> 依赖管理,很重要的部分,设置项目依赖的jar包,aar包等;比如android sdk ,support Library,第三方jar包
三要素<groupId><artifactId><version>先写上,<type>指明依赖包的格式jar/aar/apklib等,<exclusion>排除某些引用依赖,防止依赖冲突
六,<build><plugins><plugin>
<srcDirectory>指明源文件路径
构建 插件配置,android使用android-maven-plugin,使用<configuration>配置编译源文件目录,sdk版本等
模版样例参考:http://blog.csdn.net/zoumengdiefly/article/details/40613197,里面的plugin配置的跟我们项目不太一样 ,mvn package 的时候没跑起来
2/maven本地安装aar
昨天 用gradle安装了本地aar,maven的本地安装在前面的官方文档里有,一个命令
mvn install:install-file -Dfile=non-maven-proj.jar -DgroupId=some.group -DartifactId=non-maven-proj -Dversion=1 -Dpackaging=jar
3.今天还遇到一个比较怪的问题,打包的时候报buildConfig.java already added ,看起来像是重复导包的问题,把目标文件目录里的对应文件删了就好了,还要看一下BuildConfig是干嘛的
引申:maven构建生命周期lifecycle,react native,android常用主页面结构