天天看點

Sonatype Nexus Repository Manager 3.+版本 上傳aar、jar

Android做元件化,項目aar包需要上傳到Maven倉庫,項目之間還存在互相依賴的情況。網上找了很多:通過AS直接配置gradle,直接在build上傳,不适用互相依賴的情況,或許是還有其他的配置;直接通過Sonatype Nexus上傳,也有問題,幾乎都是2.+版本的搜尋結果,界面的改動相當大,是以做個簡單的筆記。

1.直接上傳單個檔案

進入某個倉庫,點選upload component進入上傳頁面:

Sonatype Nexus Repository Manager 3.+版本 上傳aar、jar

上傳成功後檔案的目錄結構大緻如下:

Sonatype Nexus Repository Manager 3.+版本 上傳aar、jar

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檔案:

Sonatype Nexus Repository Manager 3.+版本 上傳aar、jar

3就可以在項目中聲明倉庫位址、添加項目依賴了。

小細節:

上傳錯了,然後删掉,再上傳相同的版本短時間内會上傳失敗。是以最好是每次都把版本+1,避免玄學程式設計。