国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

RAINBOND源碼構建JAVA項目配置MAVEN倉庫

MockingBird / 3684人閱讀

摘要:清除構建緩存為每一個服務的構建環境提供緩存,項目會對的安裝目錄,配置目錄,和本地倉庫目錄提供了緩存,用戶通過以下設置清理緩存。本文檔詳細介紹了源碼構建項目時的各種詳細設置與操作。

概述

根據大量的Rainbond用戶反饋,我們發現在Rainbond源碼構建java-maven項目的過程中,最容易出現問題的一環就是獲取構件失敗。

比如:

[ERROR] Failed to execute goal on project bq-insurance-third-party: Could not resolve dependencies for project···

這樣的報錯。

本文檔將詳細說明,如何作出正確的配置去獲取項目需要的構件。還有,針對“我在本地可以構建,為何在Rainbond無法構建?”這樣的疑問作出解答。

閱讀本文檔,需要讀者對Rainbond構建Java Maven項目原理有一定的理解。

下載與安裝Maven

Rainbond默認提供多種maven版本供用戶選擇,對應版本及相應的資源地址獲取見下表:

Maven版本 獲取地址
3.3.1 http://lang.goodrain.me/jvm/m...
3.0.5 http://lang.goodrain.me/jvm/m...
3.1.1 http://lang.goodrain.me/jvm/m...
3.2.5 http://lang.goodrain.me/jvm/m...
3.3.9 http://lang.goodrain.me/jvm/m...
如果遇到Maven構建失敗,請優先確認當前maven版本有關。如果不能確定,可以下載上述資源,嘗試在本地構建。
清除構建緩存

Rainbond為每一個服務的構建環境提供緩存,Maven項目會對maven的安裝目錄,配置目錄,和本地倉庫目錄提供了緩存,用戶通過以下設置清理緩存。

訪問http://<管理節點>:8081/artifactory/list/libs-release/或者管理節點訪問maven.goodrain.me看能否列出你新添加的構件。

如果用戶已經擁有完整可用的repository文件夾,也可以使用 import 功能將整個倉庫完整上傳到repo-local本地倉庫中去。

完整上傳提供了兩種方式:從目錄掛載導入,或者上傳zip。其中第一種方式需要注意的是,上傳的路徑是要在rbd-repo容器中的路徑上傳,所以需要事先執行路徑掛載。第二種方式,則需要注意文件上傳大小限制,該值可以在admin —— Configuration——General Configuration 中設置。

我在本地可以構建,為何在Rainbond無法構建?

通讀本篇文檔,我們可以發現執行maven構建需要注意的細節很多,這些微小的細節都可能導致構建失敗。

但是可以肯定的一點就是,在本地可以構建,那么在網絡條件相同的Rainbond環境中就可以構建。因為Rainbond執行源碼構建時,使用的原理和普通的maven構建并無不同。需要注意的,就是構建環境上微小的差別。

以下是遇到這樣的疑惑時,排查的思路:

版本差異:
這個差異包括了maven版本的差異,也包括JDK的版本差異(即使是同個大版本下不同的小版本)。遇到無法確定原因的報錯,這將是首要需要檢查的方面。有關JDK版本如何選擇,以及出現版本差異影響如何處理,請參見文檔: RAINBOND源碼構建JAVA項目選取JDK

GZIP STDIN NOT IN GZIP FORMAT:
構建日志如這種報錯,基本可以確定為獲取JDK或Maven安裝包失敗,結合文檔 源碼構建提示GZIP STDIN NOT IN GZIP FORMAT 加以解決。

構建緩存:
再次強調,用戶應該在首次構建成功前一直開啟清除構建緩存直至構建成功。這樣可以防止緩存到了不完整或者錯誤的包,導致構建一直失敗。切記,構建會優先去緩存中獲取構件。

獲取構件失敗:
這個問題的答案并不惟一,可能出現的情況非常多。

首先,結合構建日志中構件下載地址,來判斷獲取構件失敗時,是否使用倉庫私服,使用的是默認私服(maven.goodrain.me)抑或是用戶自定義私服(用戶自行指定的artifactory或nexus)。

如果禁用Mirror功能,則默認使用中央倉庫。這時需要判斷網絡是否可以訪問到中央倉庫,當前構件是否在中央倉庫中存在。

如果未禁用Mirror功能,并且使用了Rainbond默認倉庫私服(maven.goodrain.me),則默認代理中央倉庫。這時需要判斷網絡是否可以訪問到中央倉庫,當前構件是否在中央倉庫中存在。

如果未禁用Mirror功能,并且使用了用戶自定義私服。則需要判斷網絡是否可以訪問到指定的倉庫私服,當前構件是否在指定倉庫私服中存在。

401認證失敗:
如果構建報錯:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project dx-id: Failed to deploy artifacts: Could not transfer artifact com.dx.application:dx-id:pom:0.0.1-20190727.012351-2 from/to snapshots (http://******:8081/artifactory/libs-release): Failed to transfer file: http://*******:8081/artifactory/libs-release/com/dx/application/dx-id/0.0.1-SNAPSHOT/dx-id-0.0.1-20190727.012351-2.pom. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]

說明訪問用戶指定的倉庫私服是需要認證信息的,而認證信息一般儲存在用戶日常使用的 setting.xml 文件中。故而,解決這個問題最好的方式,是使用上文中提到的 自定義Setting.xml 的方式。再次強調, 自定義Setting.xml 是作為終極解決方案存在的,同樣適用于其他由于用戶倉庫私服特殊設置所導致的構件獲取失敗。

我的倉庫足夠我的項目構建所需,卻依然報錯有構件找不到:
Rainbond默認的 Maven構件全局參數clean dependency:list install 。需要注意的是,dependency:list 需要下載特定的maven plugin,故而,當用戶處于一個離線環境,并且使用的私服中沒有對應的構件時,必然會發生構建失敗的情況。請更改為 clean install

使用rbd-repo代理了其他倉庫私服:
用戶是可以使用rbd-repo組件來代理其他的遠程倉庫私服的。但是不同的倉庫私服之間傳輸構件有可能會出現奇奇怪怪的問題。故而,我們推薦用戶使用 MAVEN MIRROR URL直接指定遠程倉庫地址,而不是使用rbd-repo代理。

總結

我在本地可以構建,為何在Rainbond環境下無法構建?這個疑問是用戶在使用源碼構建功能出現問題時最常向我們提出的一個疑惑。甚至也有過用戶因此放棄Rainbond的例子,我們對此感到難過。不可否認,源碼構建這個功能涉及的知識點相對于其他功能而言,更加的廣泛深奧、晦澀難明。

但是需要指出的是,Rainbond Java-Maven所使用的構建原理,與普通的Maven構建原理是一致的。所以從本質上講,在本地可以構建,在Rainbond環境下就一定可以構建,但是構建環境的設置,構件如何獲取等等細節的差別,對于構建結果的影響是非常大的。所以使用Rainbond源碼構建Java-Maven項目,最重要的一點,就是找到這些細微的差別,抹平本地環境與Rainbond構建環境的不同。

本文檔詳細介紹了Rainbond源碼構建Java-Maven項目時的各種詳細設置與操作。其中很多細節都已經羅列出來, 可以算作是源碼構建失敗時排查問題的詳細思路總結。希望Rainbond的用戶在通讀整篇文檔后,對于Rainbond源碼構建功能有更深刻的了解。

本文作者: 好雨科技交付工程師 郭遜

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76067.html

相關文章

  • Rainbond 5.1.3發布,快速部署和運維spring cloud集群

    摘要:監控項目進一步完善集群和服務監控和報警必然是運維同仁們的重點關注功能。系統服務注冊功能改進,基于健康檢查實現注冊的自動上線和下線,解決錯誤的添加管理節點導致鏡像倉庫等服務負載均衡錯誤問題。修復了鏡像錯誤導致檢測失敗后未提供后續操作的問題。 Rainbond 5.1.3發布,快速部署和運維spring cloud集群 今天為大家帶來Rainbond 5.1系列第三個更新版本,本次版本更新...

    fanux 評論0 收藏0
  • Rainbond v5.1.2發布,微服務架構應用便捷管理和交付

    摘要:發布,微服務架構應用便捷管理和交付是開源的企業應用云操作系統,支撐企業應用的開發架構交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源可以對接和管理虛擬機和物理服務器。 Rainbond v5.1.2發布,微服務架構應用便捷管理和交付 Rainbond是開源的企業應用云操作系統,支撐企業應用的開發、架構、交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源...

    miguel.jiang 評論0 收藏0
  • Rainbond v5.1.2發布,微服務架構應用便捷管理和交付

    摘要:發布,微服務架構應用便捷管理和交付是開源的企業應用云操作系統,支撐企業應用的開發架構交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源可以對接和管理虛擬機和物理服務器。 Rainbond v5.1.2發布,微服務架構應用便捷管理和交付 Rainbond是開源的企業應用云操作系統,支撐企業應用的開發、架構、交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源...

    AdolphLWQ 評論0 收藏0
  • Rainbond v5.1.2發布,微服務架構應用便捷管理和交付

    摘要:發布,微服務架構應用便捷管理和交付是開源的企業應用云操作系統,支撐企業應用的開發架構交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源可以對接和管理虛擬機和物理服務器。 Rainbond v5.1.2發布,微服務架構應用便捷管理和交付 Rainbond是開源的企業應用云操作系統,支撐企業應用的開發、架構、交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源...

    hzc 評論0 收藏0
  • Rainbond v5.1.2發布,微服務架構應用便捷管理和交付

    摘要:發布,微服務架構應用便捷管理和交付是開源的企業應用云操作系統,支撐企業應用的開發架構交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源可以對接和管理虛擬機和物理服務器。 Rainbond v5.1.2發布,微服務架構應用便捷管理和交付 Rainbond是開源的企業應用云操作系統,支撐企業應用的開發、架構、交付和運維的全流程,通過無侵入架構,無縫銜接各類企業應用,底層資源...

    wuyangchun 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<