[發明專利]一種JAR包和WAR包的兼容性檢查方法和系統在審
| 申請號: | 202210334705.1 | 申請日: | 2022-03-31 |
| 公開(公告)號: | CN114780136A | 公開(公告)日: | 2022-07-22 |
| 發明(設計)人: | 金明珠;許凌超;袁映雪;熊浩然 | 申請(專利權)人: | 中銀金融科技有限公司 |
| 主分類號: | G06F8/71 | 分類號: | G06F8/71;G06F8/41 |
| 代理公司: | 上??剖⒅R產權代理有限公司 31225 | 代理人: | 趙繼明 |
| 地址: | 200120 上海市浦東新區中國(*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 jar war 兼容性 檢查 方法 系統 | ||
本發明涉及一種JAR包和WAR包的兼容性檢查方法和系統,方法包括以下步驟:獲取編譯好的包文件,該包文件包括JAR包和WAR包;檢查編譯好的包文件中所有的class類清單,并對包文件進行內部遞歸檢查;根據class類清單中每個class類的頭文件獲取編譯版本號;判斷編譯版本號是否與預設的標準版本號一致,若一致,則該包文件的版本滿足兼容性,否則,不滿足兼容性,將對應的包文件納入預設的兼容性不一致清單。與現有技術相比,本發明通過檢查頭文件的方法檢查整改包確保兼容性,可以避免很多難以察覺的兼容性問題。
技術領域
本發明涉及包文件處理技術領域,尤其是涉及一種JAR包和WAR包的兼容性檢查方法和系統。
背景技術
因為項目內引用了很多公司內部的包的功能和其他的包,現成包編譯的JDK版本可能與項目工程打包編譯的JDK版本不一致,雖然大多數情況下運行不會有問題,但是容易會導致一些其他的異常問題。
現有方案中,雖然java會檢查虛擬機版本,并判定是否接受此文件,但是一般只遵循了向下兼容性,容易發生異常問題。
發明內容
本發明的目的就是為了克服上述現有技術存在現成包編譯的JDK版本可能與項目工程打包編譯的JDK版本不一致,導致異常的缺陷而提供一種JAR包和WAR包的兼容性檢查方法和系統。
本發明的目的可以通過以下技術方案來實現:
一種JAR包和WAR包的兼容性檢查方法,包括以下步驟:
獲取編譯好的包文件,該包文件包括JAR包和WAR包;
檢查編譯好的包文件中所有的class類清單;
根據class類清單中每個class類的頭文件獲取編譯版本號;
判斷所述編譯版本號是否與預設的標準版本號一致,若一致,則該包文件的版本滿足兼容性,否則不滿足兼容性。
進一步地,所述方法還包括對所述包文件進行內部遞歸檢查,獲取所有的class類清單。
進一步地,所述編譯版本號為class類頭文件中的主版本號。
進一步地,所述主版本號為class類頭文件中的第7和第8個字段。
進一步地,若編譯版本號與預設的標準版本號不一致,則將對應的包文件納入預設的兼容性不一致清單。
本發明還提供一種JAR包和WAR包的兼容性檢查系統,包括:
class清單獲取模塊,被配置為:獲取編譯好的包文件,該包文件包括JAR包和WAR包;檢查編譯好的包文件中所有的class類清單;
檢查模塊,被配置為:根據class類清單中每個class類的頭文件獲取編譯版本號;
檢查報告生成模塊,被配置為:判斷所述編譯版本號是否與預設的標準版本號一致,若一致,則該包文件的版本滿足兼容性,否則不滿足兼容性。
進一步地,所述class清單獲取模塊還被配置為:對所述包文件進行內部遞歸檢查,獲取所有的class類清單。
進一步地,所述編譯版本號為class類頭文件中的主版本號。
進一步地,所述主版本號為class類頭文件中的第7和第8個字段。
進一步地,所述檢查報告生成模塊還被配置為:若編譯版本號與預設的標準版本號不一致,則將對應的包文件納入預設的兼容性不一致清單。
與現有技術相比,本發明具有以下優點:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中銀金融科技有限公司,未經中銀金融科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210334705.1/2.html,轉載請聲明來源鉆瓜專利網。





