Sonatype Nexus Repository Manager 3.+版本 上传aar、jar
引
Android做组件化,项目aar包需要上传到Maven仓库,项目之间还存在互相依赖的情况。网上找了很多:通过AS直接配置gradle,直接在build上传,不适用互相依赖的情况,或许是还有其他的配置;直接通过Sonatype Nexus上传,也有问题,几乎都是2.+版本的搜索结果,界面的改动相当大,所以做个简单的笔记。
正
1.直接上传单个文件
进入某个仓库,点击upload component进入上传页面:
上传成功后文件的目录结构大致如下:
2通过pom文件上传
我这里是为了解决互相依赖的问题。
首先,编写pom文件,大致格式:(感觉和gradle配置依赖差不多)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zhangsan.text</groupId>
<artifactId>test</artifactId>
<version>1.0.9</version>
<packaging>aar</packaging>
<dependencies>
<groupId>org.greenrobot</groupId>
<artifactId>eventbus</artifactId>
<version>3.2.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cn.jiguang.sdk</groupId>
<artifactId>jpush</artifactId>
<version>3.6.8</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cn.jiguang.sdk</groupId>
<artifactId>jcore</artifactId>
<version>2.4.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.bumptech.glide</groupId>
<artifactId>glide</artifactId>
<version>4.11.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.donkingliang</groupId>
<artifactId>GroupedRecyclerViewAdapter</artifactId>
<version>1.3.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
然后,同时上传aar和pom文件:
3就可以在项目中声明仓库地址、添加项目依赖了。
小细节:
上传错了,然后删掉,再上传相同的版本短时间内会上传失败。所以最好是每次都把版本+1,避免玄学编程。