[發明專利]基于maven架構的包管理器解析第三方依賴的方法及系統在審
| 申請號: | 202210335645.5 | 申請日: | 2022-03-31 |
| 公開(公告)號: | CN114816415A | 公開(公告)日: | 2022-07-29 |
| 發明(設計)人: | 汪杰;萬振華;王頡;李華;董燕 | 申請(專利權)人: | 深圳開源互聯網安全技術有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F8/75;G06F21/57 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 趙貫杰 |
| 地址: | 518000 廣東省深圳市龍華區民治*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 maven 架構 管理器 解析 第三 依賴 方法 系統 | ||
本發明公開了一種基于maven架構的包管理器解析第三方依賴的方法及系統,該方法為:采用依賴解析命令對項目中的各個第三方組件的依賴關系進行解析,當有異常情況發生而導致當前解析命令不能繼續執行時,如果是直接依賴異常,可將該直接依賴關系列表剔除,以使得解析工作可繼續執行,如果是間接依賴出現異常,先將每一依賴關系列表單獨分離,單獨解析,然后將解析失敗的剔除,將解析成功的再合并進行綜合解析,那么綜合解析結果和剔除的直接依賴信息即為所要解析結果;通過上述方法,不僅可有效確保解析結果的正確性,當解析過程出現異常時,還可對異常及時作出應對處理措施,使得解析過程可繼續執行,從而有效解決了包管理器中的依賴解析命令的不足。
技術領域
本發明涉及軟件項目第三方依賴組件解析技術領域,尤其涉及一種基于maven架構的包管理器解析第三方依賴的方法及系統。
背景技術
軟件項目開發是一個系統性的工程,每一個軟件項目會用到若干源碼組件,為有效提高軟件開發效率,現如今的軟件開發中大多都會使用現成的開源組件,然而,這雖然有助于提高軟件開發效率,但是開源組件也會為軟件項目帶來較多風險漏洞,因此,需要對軟件項目中的開源成分,也即第三方依賴進行檢測。
現在市場上,一般采用軟件成分分析(SCA,Software Composition Analysis)工具分析項目中的第三方組件成分,并顯示這些組件成分的漏洞和許可等信息。如何找出一個項目和應用中的第三方依賴的成分,針對有包管理器的項目,如java語言的包管理器maven,gradle,js語言的包管理器npm。一般通過執行包管理器的命令來獲取第三方依賴的信息,但是直接利用包管理器自身的命令來解析,會有很多的局限性和缺陷,例如,現有的包管理器自身的解析命令執行過程中,如果某一依賴出現未知錯誤,將使得整個解析過程無法繼續執行,也不會給出相應的解析結果,而且不方便查找出現錯誤的依賴組件,但是不用包管理器的命令解析,用其他方式解析的話,準確性又很難保證。所以如何在保證解析正確的第三方依賴的情況下,又能解決命令行帶來的局限性和缺陷就顯得尤為重要。
發明內容
本發明的目的是為提供一種既可有效確保正確解析第三方依賴又可解決現有命令解析過程中出現的異常問題的基于maven架構的包管理器解析第三方依賴的方法及系統。
為了實現上述目的,本發明公開了一種基于maven架構的包管理器解析第三方依賴的方法,其包括:
通過基于基于maven架構的包管理器中的依賴解析命令對當前項目下的總的pom文件中的依賴關系列表進行解析,并對解析過程進行實時監控;
當解析過程中出現錯誤信息時,判斷該錯誤信息是否來自于直接依賴,如果是,則將與該錯誤信息相對應的依賴關系列表從所述pom文件中剔除;如果否,則將當前項目下的總的pom文件中的所有依賴關系列表分離出來,并分別單獨存放,以生成若干單一依賴關系列表的臨時pom文件;
通過所述依賴解析命令分別單獨對每一臨時pom文件進行解析,如果解析成功,則記錄解析成功信息,如果解析失敗,則將該依賴關系列表剔除;
將單獨解析成功的若干臨時pom文件合并,生成一新的綜合pom文件;
采用上述依賴解析命令對該綜合pom文件進行綜合解析,并對解析結果進行記錄。
較佳地,對解析過程進行監控的過程中,如果同一條下載信息停留超過預設值,則中斷當前依賴解析命令的執行,并將當前項目下的總的pom文件中的所有依賴關系列表分離出來,并分別單獨存放,以生成若干單一依賴關系列表的臨時pom文件;
通過所述依賴解析命令分別對每一臨時pom文件進行解析,如果解析成功,則記錄解析成功信息,如果解析失敗,則將該依賴關系列表剔除;
將單獨解析成功的若干臨時pom文件合并,生成一新的綜合pom文件;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳開源互聯網安全技術有限公司,未經深圳開源互聯網安全技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210335645.5/2.html,轉載請聲明來源鉆瓜專利網。





