女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Maven進行組件化發布(上)

jf_78858299 ? 來源:小余的自習室 ? 作者:小余的自習室 ? 2023-03-30 11:36 ? 次閱讀

現如今已經不是以前單兵作戰時代,越來越多的需求,促使我們項目去實現動態組件化開發。

這個時候組件化發布共享就顯的尤為重要。

這篇文章我們就來講解下如何使用Maven進行組件化發布

在講解組件化發布之前,我們先來了解一些基礎概念

基礎概念:

1.POM

pom:全名Project Object Model 項目對象模型,用來描述當前maven項目發布模塊的基礎信息

pom主要節點信息如下:

配置 描述 舉例('com.android.tools.build:gradle:4.1.1')
groupId 組織 / 公司的名稱 com.android.tools.build
artifactId 組件的名稱 gradle
version 組件的版本 4.1.1
packaging 打包的格式 aar

2.倉庫

我們在開發中經常使用到第二/三方插件或者第二/三方庫,就是存儲在倉庫中的

2.1:倉庫種類:

  • 本地倉庫 :存儲在本地設備中的倉庫以及遠程倉庫中下載保存的倉庫,統稱為本地倉庫

  • 私有倉庫 :公司內部倉庫,比如是有maven私服搭建的局域網倉庫

  • 中央倉庫 :開源社區倉庫,我們平時使用的第三方插件或者類庫一般都存儲在中央倉庫,比如Maven Central,阿里的國內鏡像庫等

    圖片

    1.maven庫介紹.png

2.2:倉庫構建順序:

  • 1.在本地倉庫中查找對應的類庫,沒有找到執行2
  • 2.按照repositories中聲明的倉庫順序,在私有倉庫和中央倉庫查找對應的類庫,找到則將類庫版本信息下載到本地倉庫,沒找到則執行3
  • 3.前面都沒找到對應的類庫或者類庫版本,則拋出異常‘沒找到對應的類庫

圖片

倉庫執行順序.awebp

2.3:倉庫聲明方式:

項目build.gradle:

buildscript {
    repositories {
        [Gradle 插件的倉庫]        
    }
}
allprojects {
    repositories {
        [項目中所有模塊依賴的倉庫]  
    }
}

模塊內build.gradle:

repositories{
    [當前模塊依賴的倉庫]
}

gradle支持的倉庫類型:

repositories{
    maven { url '...' }
    ivy { url '...' }
    flatDir { dirs '...' }
}

常用的中央倉庫:

google()        // https://dl.google.com/dl/android/maven2/
mavenCentral()   // https://repo.maven.apache.org/maven2/
jCenter()

網絡不好的情況下,訪問上面的中央倉庫會有點慢:可以開考慮使用國內鏡像代理

maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}

3.有了Release版本為啥還需要SNAPSHOT

區別

  • 1.Release版本每次升級都需要更新版本,而SNAPSHOT不需要更新版本,使用原版本即可
  • 2.Release版本如果版本沒有更新不需要每次都去下載,除非本地倉庫被清除,而SNAPSHOT版本每次編譯都需要去中央倉庫更新版本信息
  • 3.常規Release版本是發布上線的版本,SNAPSHOT是測試版本。
  • 4.版本名:Release版本:1.0.0,SNAPSHOT版本:1.0.0-SNAPSHOT

使用場景

A和B共同開發,如果A修改了代碼,

使用常規Release版本則需要每次都發布一個新版本,如果不小心忘記增加版本,B則無法收到更新后的版本,

造成代碼不同步,后期會出現不可預料的bug。

使用SNAPSHOT只要A發布了版本,B在每次編譯時就可以立即收到A的類庫更新信息,可以實時同步代碼。

SNAPSHOT以犧牲編譯時間換取代碼之間的立即可見度,缺點就是在網絡較差的情況下代碼編譯時間可能常常比較慢。

如何發布組件:

1.發布到本地倉庫:

模塊級:build.gradle

plugins {
    id 'groovy' // Groovy Language
//    id 'org.jetbrains.kotlin.jvm' // Kotlin
    id 'java-gradle-plugin' // Java Gradle Plugin

    id 'maven'
}
...
uploadArchives {
    repositories {
        mavenDeployer {
            repository(url:uri('D:/maven_local'))
            pom.groupId = 'com.yuhb.upload'
            pom.artifactId = 'upload'
            pom.version = '1.0.1'
        }
    }
}

同步模塊后:點擊Gradle面板中對應模塊下Tasks:upload里面的uploadArchives任務

如果執行成功:則會在對應的本地目錄下找到類庫信息:

2.搭建maven私服創建私有倉庫:

簡介

maven私服其實就是在部門·局域網·中設置一個maven倉庫,所有在局域網中的開發人員都可以使用該倉庫:

PS:私服中可以添加自己本地的倉庫,也可以代理中央倉庫中的包。畢竟對于一些網絡比較差的環境,去中央倉庫里面獲取數據是一個很耗時的操作

優點

1.節省自己的外部帶寬:

2.加速構建過程

3.可以部署第三方構件

4.提高穩定性,增強控制

5.降低中央倉庫的負荷

圖片

maven私服優勢.png

如何搭建Maven私服

1.去官網下載 maven私服啟動器 nexus:

地址:https://www.sonatype.com/

2.下載后,配置環境變量后:

在命令行輸入:nexus /run

3.nexus啟動成功后:在瀏覽器中輸入:
http://localhost:8081/
  • 啟動界面如下:

圖片

2.nexus界面.png

點擊右上角的sign in按鈕:

輸入用戶名和密碼

用戶名和密碼系統會提示在哪個目錄下

4.登錄成功后:
  • 點擊導航欄的設置按鈕-->repository進入倉庫列表

圖片

3.倉庫搭建.png

圖片

4倉庫.png

  • 點擊create Repository創建一個新的本地局域網倉庫:

因為我們是為Android項目創建的maven倉庫選擇maven2:

這里有三個maven2類型倉庫:

*hosted*:本地局域網私服,像官方倉庫一樣,提供本地私庫功能

*proxy*:提供代理其他倉庫的功能,表示這個repository可以代理遠程倉庫,比如jcenter google 等遠程中央倉庫

*group*:組合多個倉庫為一個地址使用

這里我們選擇hosted倉庫即可,大家可以根據自己需求選取

1.輸入倉庫名稱

2.設置maven類型:

*release*:表示是一個該倉庫存儲的是一個release版本的第三方庫

*snapshot*:表示存儲的是一個不穩定第三方庫,需要進程去私服或者中央倉庫拉數據:


    
        ****class="hljs-name"id>
        ***class="hljs-name"url>
        
            trueclass="hljs-name"enabled>
            (always/ daliy/  interval/ never)class="hljs-name"updatePolicy>
        class="hljs-name"snapshot>
    class="hljs-name"repository>
class="hljs-name"repository>

updatePolicy:表示更新的頻率:

`always`:每次都需要拉去 `    daliy`:表示每天需要拉取 `    interval`:按分鐘拉取 `    nerver`:和release版本一樣,不需要重復拉取

點擊確定后就創建的一個maven私服:

點擊該倉庫就可以看到對應的url,這個url就是我們私服的地址。需要在項目中引用:

經過上面的步驟后,我們就搭建好了一個maven私服,局域網內用戶都可以拉取使用

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發
    +關注

    關注

    0

    文章

    373

    瀏覽量

    41353
  • maven
    +關注

    關注

    0

    文章

    30

    瀏覽量

    3851
  • gradle
    +關注

    關注

    0

    文章

    26

    瀏覽量

    854
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Maven 配置指南

    Maven 配置指南http://bbs.edu118.com/forum.php?mod=viewthread&tid=263&fromuid=231(出處: 信盈達IT技術社
    發表于 08-28 15:08

    【新功能】企業級Maven私有倉庫服務結束公測,全面開放使用

    現以下界面:'點擊開通'即可開通倉庫服務。企業的普通用戶并沒有開通倉庫的權限,則需要聯系您的企業管理員進行開通操作。開通成功以后顯示界面如下:倉庫地址云效會自動為該企業生成兩個Maven私庫,一個是
    發表于 06-20 15:50

    在Linux平臺下面安裝Maven步驟說明

    Apache Maven,是一個軟件(特別是Java軟件)項目管理及自動構建工具,由Apache軟件基金會所提供。基于項目對象模型(縮寫:POM)概念,Maven利用一個中央信息片斷能管理一個項目
    發表于 07-23 06:14

    Linux下的Maven安裝方法

    關鍵步驟如下: 1. 下載Maven包. 2. 解壓Maven包. 3.配置Maven系統參數,驗證Maven是否正確安裝.
    發表于 07-23 08:01

    HarmonyOS組件更新,新增700+開源組件

    適當的時間進行動畫處理。如圖5所示,ohos-spruce輕松實現了屏幕動畫的編排。圖5 ohos-spruce效果展示源碼下載地址:https://gitee.com/hihopeorg
    發表于 11-18 11:17

    YoC組件發布開源操作指南須知

    ,然后將代碼上傳到master分支和dev分支,打上標簽進行發布,標簽遵循vX.Y.Z版本規則,初始版本號組件管理員自己定義。3.2 現有組件內部開發者提交
    發表于 03-09 07:37

    Maven管理的jar沒有發布到WEB-INFlib下應該如何解決詳細方案說明

    本文檔的主要內容詳細介紹的是Maven管理的jar沒有發布到WEB-INFlib下應該如何解決詳細方案說明。
    發表于 05-30 17:07 ?9次下載
    <b class='flag-5'>Maven</b>管理的jar沒有<b class='flag-5'>發布</b>到WEB-INFlib下應該如何解決詳細方案說明

    最常用的Maven插件有哪些詳細資料介紹

    我們都知道Maven本質是一個插件框架,它的核心并不執行任何具體的構建任務,所有這些任務都交給插件來完成,例如編譯源代碼是由maven- compiler-plugin完成的。
    的頭像 發表于 08-03 11:40 ?3956次閱讀

    干貨:在Windows安裝Maven及配置

    干貨:在Windows安裝Maven及配置
    的頭像 發表于 06-20 09:24 ?2978次閱讀
    干貨:在Windows<b class='flag-5'>上</b>安裝<b class='flag-5'>Maven</b>及配置

    如何使用Maven進行組件發布(中)

    這個時候組件發布共享就顯的尤為重要。 這篇文章我們就來講解下如何使用`Maven進行組件
    的頭像 發表于 03-30 11:36 ?1075次閱讀
    如何使用<b class='flag-5'>Maven</b><b class='flag-5'>進行</b><b class='flag-5'>組件</b><b class='flag-5'>化</b><b class='flag-5'>發布</b>(中)

    如何使用Maven進行組件發布(下)

    這個時候組件發布共享就顯的尤為重要。 這篇文章我們就來講解下如何使用`Maven進行組件
    的頭像 發表于 03-30 11:37 ?1090次閱讀

    如何理解Maven拉包原理,搞定Maven構建項目

    依賴是我們在使用 Maven 構建項目時最常使用的功能,通過依賴標簽,我們可以直接從Maven倉庫中引入對應的Jar包,無需手動再將Jar添加到目錄下了,可謂是十分方便,不過我們除了使用,還需要考慮多模塊下依賴之間的關系。
    發表于 05-25 09:50 ?780次閱讀
    如何理解<b class='flag-5'>Maven</b>拉包原理,搞定<b class='flag-5'>Maven</b>構建項目

    idea配置了maven但不顯示pom

    Maven 正確安裝,應該會顯示 Maven 的版本信息。 接下來,我們需要配置 Maven 的環境變量。在 Windows ,可以按如下步
    的頭像 發表于 12-06 14:17 ?4079次閱讀

    idea如何添加maven

    Maven是一個開源的項目管理工具,它提供了一種簡單的方式來管理項目的依賴關系、構建過程和發布部署。本文將詳細介紹如何將Maven添加到你的項目中,并使用它來管理你的項目。 第一步:安裝Mav
    的頭像 發表于 12-06 14:56 ?1491次閱讀

    使用Nexus在本地搭建npm、yum和maven私有倉庫

    使用Nexus在本地搭建npm、yum和maven私有倉庫 為保證在無互聯網的情況下,可正常搭建、構建項目,并自動部署項目,本系統采用Nexus+Jenkins+Maven+Gitlab開源
    的頭像 發表于 08-21 14:46 ?556次閱讀
    使用Nexus在本地搭建npm、yum和<b class='flag-5'>maven</b>私有倉庫