System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本申請涉及測試,更具體地說,涉及一種調(diào)用沖突識別方法、裝置、設備及可讀存儲介質。
技術介紹
1、在當今的軟件開發(fā)領域,jar包的使用非常廣泛。然而,由于不同的開發(fā)需求和依賴關系,很容易出現(xiàn)jar包調(diào)用沖突的情況。
2、目前,在軟件開發(fā)過程中,開發(fā)人員通常手動管理軟件的調(diào)用關系,通過查看調(diào)用鏈或者調(diào)用列表來判斷是否存在潛在的沖突。但是這種方式效率低下,容易出現(xiàn)遺漏,并且對于復雜的軟件結構,很難準確地識別出所有的沖突點。另外,現(xiàn)有的一些構建工具雖然能夠在一定程度上管理調(diào)用關系,但對于jar包調(diào)用沖突的檢測和解決往往不夠智能和全面。例如,某些構建工具只能檢測到直接依賴的沖突,而對于通過依賴傳遞引入的間接沖突難以發(fā)現(xiàn)。
技術實現(xiàn)思路
1、有鑒于此,本申請?zhí)峁┝艘环N調(diào)用沖突識別方法、裝置、設備及可讀存儲介質,用于識別jar包間的調(diào)用沖突。
2、為了實現(xiàn)上述目的,現(xiàn)提出的方案如下:
3、一種調(diào)用沖突識別方法,包括:
4、獲取目標應用的所有jar包;
5、識別每個jar包是否與其他jar包存在沖突;
6、若所有jar包都不存在沖突,則生成表示目標應用不存在沖突的第一反饋信息;
7、若存在任一jar包與其他jar包存在沖突,則生成用于記載所述目標應用中各個jar包沖突情況的沖突識別結果;
8、提取各個jar包間的調(diào)用鏈,生成調(diào)用鏈集合;
9、分析所述沖突識別結果及所述調(diào)用鏈集合是否存在重合,
10、可選的,所述獲取目標應用的所有jar包,包括:
11、監(jiān)聽所述目標應用部署成功的信息,下載所述目標應用的所有鏡像包;
12、掃描各個鏡像包,提取所述目標應用的所有jar包。
13、可選的,所述生成用于記載所述目標應用中各個jar包沖突情況的沖突識別結果,包括:
14、提取每個jar包中的所有字節(jié)碼文件;
15、對每個字節(jié)碼文件進行解析,構建所述沖突識別結果。
16、可選的,所述提取每個jar包中的所有字節(jié)碼文件,包括:
17、提取每個jar包中的所有class文件。
18、可選的,所述提取各個jar包間的調(diào)用鏈,生成調(diào)用鏈集合,包括:
19、解析每個字節(jié)碼文件,提取每個字節(jié)碼文件的外部調(diào)用信息;
20、基于每個字節(jié)碼文件的外部調(diào)用信息,構建每個jar包對應的調(diào)用鏈;
21、對各個調(diào)用鏈進行清洗并整合,整合后形成調(diào)用鏈集合。
22、可選的,所述解析每個字節(jié)碼文件,提取每個字節(jié)碼文件的外部調(diào)用信息,包括:
23、解析每個字節(jié)碼文件,提取每個字節(jié)碼文件的外部調(diào)用類信息及外部調(diào)用方法信息。
24、可選的,還包括:
25、生成包含反饋信息的郵件和/或提醒彈窗,所述反饋信息為第一反饋信息或第二反饋信息;
26、確定所述目標應用的修訂終端;
27、將所述郵件和/或提醒彈窗發(fā)送至所述修訂終端。
28、一種調(diào)用沖突識別裝置,包括:
29、jar包獲取模塊,用于獲取目標應用的所有jar包;
30、沖突識別模塊,用于識別每個jar包是否與其他jar包存在沖突;若所有jar包都不存在沖突,則調(diào)用反饋信息生成模塊;若存在任一jar包與其他jar包存在沖突,則調(diào)用沖突識別結果生成模塊及其后續(xù)模塊;
31、反饋信息生成模塊,用于生成表示目標應用不存在沖突的第一反饋信息;
32、沖突識別結果生成模塊,用于生成用于記載所述目標應用中各個jar包沖突情況的沖突識別結果;
33、調(diào)用鏈集合生成模塊,用于提取各個jar包間的調(diào)用鏈,生成調(diào)用鏈集合;
34、沖突識別結果利用模塊,用于分析所述沖突識別結果及所述調(diào)用鏈集合是否存在重合,并生成第二反饋信息。
35、一種調(diào)用沖突識別設備,包括存儲器和處理器;
36、所述存儲器,用于存儲程序;
37、所述處理器,用于執(zhí)行所述程序,實現(xiàn)上述的調(diào)用沖突識別方法的各個步驟。
38、一種可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時,實現(xiàn)上述的調(diào)用沖突識別方法的各個步驟。
39、從上述的技術方案可以看出,本申請?zhí)峁┑恼{(diào)用沖突識別方法,考慮到目標應用存在調(diào)用沖突是由于調(diào)用了引發(fā)jar包沖突的方法,因而,該方法可以獲取目標應用的所有jar包;識別每個jar包是否與其他jar包存在沖突;若所有jar包都不存在沖突,則生成表示目標應用不存在沖突的反饋信息;基于此,本申請可以先識別目標應用的多個jar包間是否存在相互沖突,一旦jar包間不存在相互沖突,則不存在調(diào)用引發(fā)包沖突的方法,更不存在調(diào)用沖突,以此減少識別工作量,提高識別效率;但,若存在相互沖突,則有可能存在由于調(diào)用引發(fā)jar包沖突的方法而導致調(diào)用沖突,在此基礎上,該方法還可以若存在任一jar包與其他jar包存在沖突,則生成用于記載所述目標應用中各個jar包沖突情況的沖突識別結果;提取各個jar包間的調(diào)用鏈,生成調(diào)用鏈集合;分析所述沖突識別結果及所述調(diào)用鏈集合間的是否重合,并生成反饋信息;基于此,本申請可以通過檢測沖突識別結果及調(diào)用鏈間的重合信息,檢測目標應用中是否存在調(diào)用了引發(fā)jar包沖突的方法,辨別是否存在調(diào)用沖突,從而,將調(diào)用沖突識別過程轉換為了沖突識別結果提取過程及重合信息辨別過程,將大任務轉化為多個小任務,簡化了識別難度。可見,本申請可以在盡可能減小工作量的情況下,檢測目標應用是否存在調(diào)用沖突。
本文檔來自技高網(wǎng)...【技術保護點】
1.一種調(diào)用沖突識別方法,其特征在于,包括:
2.根據(jù)權利要求1所述的調(diào)用沖突識別方法,其特征在于,所述獲取目標應用的所有jar包,包括:
3.根據(jù)權利要求1所述的調(diào)用沖突識別方法,其特征在于,所述生成用于記載所述目標應用中各個jar包沖突情況的沖突識別結果,包括:
4.根據(jù)權利要求3所述的調(diào)用沖突識別方法,其特征在于,所述提取每個jar包中的所有字節(jié)碼文件,包括:
5.根據(jù)權利要求3所述的調(diào)用沖突識別方法,其特征在于,所述提取各個jar包間的調(diào)用鏈,生成調(diào)用鏈集合,包括:
6.根據(jù)權利要求5所述的調(diào)用沖突識別方法,其特征在于,所述解析每個字節(jié)碼文件,提取每個字節(jié)碼文件的外部調(diào)用信息,包括:
7.根據(jù)權利要求1-6任一項所述的調(diào)用沖突識別方法,其特征在于,還包括:
8.一種調(diào)用沖突識別裝置,其特征在于,包括:
9.一種調(diào)用沖突識別設備,其特征在于,包括存儲器和處理器;
10.一種可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時,實現(xiàn)如權利要求1-
...【技術特征摘要】
1.一種調(diào)用沖突識別方法,其特征在于,包括:
2.根據(jù)權利要求1所述的調(diào)用沖突識別方法,其特征在于,所述獲取目標應用的所有jar包,包括:
3.根據(jù)權利要求1所述的調(diào)用沖突識別方法,其特征在于,所述生成用于記載所述目標應用中各個jar包沖突情況的沖突識別結果,包括:
4.根據(jù)權利要求3所述的調(diào)用沖突識別方法,其特征在于,所述提取每個jar包中的所有字節(jié)碼文件,包括:
5.根據(jù)權利要求3所述的調(diào)用沖突識別方法,其特征在于,所述提取各個jar包間的調(diào)用鏈,生成調(diào)用鏈集合,...
【專利技術屬性】
技術研發(fā)人員:陳海潮,
申請(專利權)人:廣州品唯軟件有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。