使用Jitpack發佈開源Java庫

原文:使用Jitpack發佈開源Java庫 | Stars-One的雜貨小窩

很久之前也寫過一篇使用Jitpack發佈Android開源庫的文章,詳見Android開發——發佈第三方庫到JitPack上 - Stars-one - 博客園

近來因爲工作原因,又重新整理總結一些使用Jitpack的相關使用技巧,由於現在Java常用的構建工具爲Gradle和Maven,所以準備分爲兩大部分講解下這兩個構建工具如何發佈Jitpack的開源庫

gradle

gradle主要講解以Android項目爲主,如果是普通的Java項目使用了gradle進行了依賴管理,那麼流程是一樣的,按照步驟來即可

發佈流程

1.創建module

先是創建一個module,在裏面實現你自己的相關代碼

輸入你自己想要的module名和包名,module名保留那兩個省略號(改後面的名字即可)

我這裏則是創建了一個update的module作爲示例,如下圖所示:

然後就可以在裏面寫自己的代碼了(當然,我這裏是Android的項目,可以在裏面寫Android的頁面等代碼),和平常開發一樣

2.Gradle插件設置

默認各位做完了自己的開發工作,爲了演示,我這裏簡單地寫了個測試類,用來彈窗

首先,在項目的根gradle設置中增加以下代碼(其實就是個打包插件):

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'

在module中的gradle文件增加下面代碼:

id 'com.github.dcendents.android-maven'

//這裏是我自己的github賬戶,需要改成你自己的
group = 'com.github.stars-one'

3.項目上傳github

這裏不多說了,默認各位都懂用github了

4.github創建relase版本

5.發佈開源庫

訪問jitpack的官網https://jitpack.io/,輸入我們開源庫的名字,找到我們的開源庫,選擇get it即可發佈版本

發佈的版本,需要等待一段時間(最長要15分鐘),由Jitpack服務器進行編譯的操作,之後看到狀態

6.使用

之後再gradle文件添加倉庫源和依賴即可使用,可以貼心一點把此引用技巧補充到項目的readme.md文件中,這樣便大功告成!

關於多模塊moudle

上面演示只是試了一個項目中存在單個module的情況,但是有時候我們一個項目可能分了幾個module,這幾個module之間有一個是必須的,而其他則是可選的,你們這個時候應該如何操作呢?

答案很簡單,和上述的操作是一樣的

但是之後,在Jitpack發佈成功後,你得手動去看下log日誌,來確定版本號

查看log直接翻到末尾處,可以查看到module

之後引用就不用多說了吧

implementation 'com.github.stars-one.android-component-libray:update:0.2'
implementation 'com.github.stars-one.android-component-libray:webviewBase:0.2'

PS:這裏需要注意,有多個module後,不要自以爲之前那種方式是一次性引入全部依賴的,如下所示

//這樣依賴,項目中不會報錯,但是無法使用具體的類的(即引用無效)
implementation 'com.github.stars-one.android-component-libray:0.2'

maven

上面主要是講解的了Gradle項目,再來補充下Maven項目

Maven相對於Gradle來說,就比較簡單了,只要你新建的是一個maven項目,上傳到github之後,按照上述的操作進行發佈即可

但是,爲了方便使用,我們需要配置下只pom.xml,設置主要爲了可以看註釋文檔和源碼

pom.xml配置如下:主要是配置了下插件即可

<build>
    <plugins>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration> <!-- Compile java 7 compatible bytecode -->
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
      
      <plugin>  <!-- Create sources.jar -->
            <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
      </plugin>
            
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
            <execution>
                <id>attach-javadocs</id>
                <goals>
                    <goal>jar</goal>
                </goals>
            </execution>
        </executions>
      </plugin>
    </plugins>
</build>

需要注意的是:最後使用Jitpack發佈的時候,包名是com.github.stars-one,不會使用在pom.xml中定義的包名和版本號,如下面兩個截圖可以說明:

關於多模塊module

多模塊的話,其實和單module有些類似,這裏就不過多展開

不過,官方給的示例中,明確了可以直接導入所有所有依賴

官方實例項目

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章