1.一種升級(jí)方法,其特征在于,包括如下步驟:
獲取當(dāng)前項(xiàng)目構(gòu)建管理Maven工程的第一依賴鏈路,所述第一依賴鏈路中包括待變更包;
獲取將所述待變更包轉(zhuǎn)換為升級(jí)包的映射規(guī)則;
根據(jù)所述映射規(guī)則修改所述第一依賴鏈路,得到第二依賴鏈路。
2.如權(quán)利要求1所述的方法,其特征在于,所述獲取當(dāng)前Maven工程的第一依賴鏈路關(guān)系,包括:
通過Maven插件獲取當(dāng)前Maven工程的項(xiàng)目對(duì)象模型pom文件;
解析所述pom文件,依次獲取所述當(dāng)前Maven工程的各個(gè)鏈路節(jié)點(diǎn),得到所述當(dāng)前Maven工程的第一依賴鏈路。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述獲取將所述待變更包轉(zhuǎn)換為升級(jí)包的映射規(guī)則,包括:
解析出所述第一依賴鏈路中的待變更包;
獲取所述待變更包對(duì)應(yīng)的映射規(guī)則,所述映射規(guī)則包括:如果所述待變更包中包括預(yù)設(shè)后綴名,則將所述待變更的包的版本號(hào)的后綴名對(duì)應(yīng)修改為升級(jí)包的后綴名,如果所述待變更包中不包括所述預(yù)設(shè)后綴名,則在所述待變更包后添加所述升級(jí)包的后綴名;
根據(jù)所述待變更包的映射規(guī)則,確認(rèn)與所述待變更包對(duì)應(yīng)的升級(jí)包的后綴名。
4.如權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述映射規(guī)則修改所述第一依賴鏈路,得到第二依賴鏈路,包括:
獲取所述第一依賴鏈路關(guān)聯(lián)的歸檔文件jar對(duì)應(yīng)的pom文件;
解析出所述jar對(duì)應(yīng)的pom文件的屬性列表,并將所述當(dāng)前Maven工程的內(nèi)置變量添加到所述屬性列表中,所述當(dāng)前Maven工程的內(nèi)置變量包括:組織標(biāo)識(shí)、項(xiàng)目標(biāo)識(shí)和版本號(hào);
根據(jù)所述映射規(guī)則修改所述jar對(duì)應(yīng)的pom文件屬性列表中的版本號(hào),得到第二依賴鏈路。
5.如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述映射規(guī)則修改所述jar對(duì)應(yīng)的pom文件屬性列表中的版本號(hào),得到第二依賴鏈路之前,還包括:
獲取所述第一依賴鏈路關(guān)聯(lián)的jar對(duì)應(yīng)的pom文件的所有父pom列表;
判斷是否有需要修改的父pom列表,如果是,則根據(jù)所述映射規(guī)則修改所述需要修改的父pom列表下每個(gè)pom文件屬性列表中的版本號(hào)。
6.如權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括:
驗(yàn)證所述第二依賴鏈路的消息摘要算法第五版MD5值與所述第一鏈路的MD5值是否相同,如果是,則將所述第二依賴鏈路存儲(chǔ)到Maven倉庫中。
7.如權(quán)利要求6所述的方法,其特征在于,驗(yàn)證所述第二依賴鏈路的MD5值與所述第一鏈路的MD5值是否相同,包括:
獲取所述第一依賴鏈路中需要修改的jar,計(jì)算所述第一鏈路中需要修改的jar的第一MD5值;
獲取所述第二依賴鏈路中對(duì)應(yīng)所述第一依賴鏈路中修改的jar,計(jì)算所述第二鏈路中對(duì)應(yīng)所述第一依賴鏈路中修改后的jar的第二MD5值;
判斷所述第一MD5值與所述第二MD5值是否相同,如果是,則確認(rèn)所述第二依賴鏈路的MD5值與所述第一鏈路的MD5值相同。
8.一種升級(jí)裝置,其特征在于,包括:
依賴鏈路獲取模塊,用于獲取當(dāng)前項(xiàng)目構(gòu)建管理Maven工程的第一依賴鏈路,所述第一依賴鏈路中包括待變更包;
依賴鏈路解析模塊,用于獲取所述待變更包轉(zhuǎn)換為升級(jí)包的映射規(guī)則;
依賴鏈路轉(zhuǎn)換模塊,用于根據(jù)所述映射規(guī)則,修改所述第一依賴鏈路,得到第二依賴鏈路。
9.如權(quán)利要求8所述的裝置,其特征在于,所述依賴鏈路獲取模塊,包括:
第一獲取單元,用于通過Maven插件獲取當(dāng)前Maven工程的項(xiàng)目對(duì)象模 型pom文件;
第一解析單元,用于解析所述pom文件,依次獲取所述當(dāng)前Maven工程的各個(gè)鏈路節(jié)點(diǎn),得到所述當(dāng)前Maven工程的第一依賴鏈路。
10.如權(quán)利要求8或9所述的裝置,其特征在于,所述依賴鏈路解析模塊,包括:
第二解析單元,用于解析出所述第一依賴鏈路中的待變更包;
第二獲取單元,用于獲取所述待變更包的映射規(guī)則,所述映射規(guī)則包括:如果所述待變更包中包括預(yù)設(shè)后綴名,則將所述待變更的包的版本號(hào)的后綴名對(duì)應(yīng)修改為升級(jí)包的后綴名,如果所述待變更包中不包括所述預(yù)設(shè)后綴名,則在所述待變更包后添加所述升級(jí)包的后綴名;
確認(rèn)單元,用于根據(jù)所述待變更包的映射規(guī)則,確認(rèn)與所述待變更包對(duì)應(yīng)的升級(jí)包的后綴名。
11.如權(quán)利要求8或9所述的裝置,其特征在于,所述依賴鏈路轉(zhuǎn)換模塊,包括:
第三獲取單元,用于獲取所述第一依賴鏈路關(guān)聯(lián)的歸檔文件jar對(duì)應(yīng)的pom文件;
第三解析單元,用于解析出所述jar對(duì)應(yīng)的pom文件的屬性列表,并將所述當(dāng)前Maven工程的內(nèi)置變量添加到所述屬性列表中,所述當(dāng)前Maven工程的內(nèi)置變量包括:組織標(biāo)識(shí)、項(xiàng)目標(biāo)識(shí)和版本號(hào);
修改單元,用于根據(jù)所述映射規(guī)則修改所述jar對(duì)應(yīng)的pom文件屬性列表中的版本號(hào),得到第二依賴鏈路。
12.如權(quán)利要求11所述的裝置,其特征在于,所述依賴鏈路轉(zhuǎn)換模塊,還包括:
第四獲取單元,用于在所述修改單元得到所述第二依賴鏈路之前,獲取所述第一依賴鏈路關(guān)聯(lián)的jar對(duì)應(yīng)的pom文件的所有父pom列表;
所述修改單元還用于判斷是否有需要修改的父pom列表,如果是,則根據(jù) 所述映射規(guī)則修改所述需要修改的父pom列表下每個(gè)pom文件屬性列表中的版本號(hào)。
13.如權(quán)利要求8或9所述的裝置,其特征在于,所述裝置還包括:
驗(yàn)證模塊,用于驗(yàn)證所述第二依賴鏈路的消息摘要算法第五版MD5值與所述第一鏈路的MD5值是否相同,如果是,則將所述第二依賴鏈路存儲(chǔ)到Maven倉庫中。
14.如權(quán)利要求13所述的裝置,其特征在于,所述驗(yàn)證模塊包括:
第五獲取單元,用于獲取所述第一依賴鏈路中需要修改的jar,計(jì)算所述第一鏈路中需要修改的jar的第一MD5值;
第六獲取單元,用于獲取所述第二依賴鏈路中對(duì)應(yīng)所述第一依賴鏈路中修改的jar,計(jì)算所述第二鏈路中對(duì)應(yīng)所述第一依賴鏈路中修改后的jar的第二MD5值;
驗(yàn)證單元,用于判斷所述第五獲取單元獲取的第一MD5值與所述第六獲取單元獲取的第二MD5值是否相同,如果相同,則確認(rèn)所述第二依賴鏈路的MD5值與所述第一鏈路的MD5值相同。