System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及java遷移,尤其涉及一種java遷移兼容性處理方法、裝置及存儲介質。
技術介紹
1、隨著計算機技術的飛速發展和國產化替代熱潮的興起,越來越多的企業將自己的業務環境進行國產化替代過程。其中java在大數據,云計算,金融服務,電子商務等領域已有非常廣泛的應用。隨著企業使用jdk版本的維護周期的終結以及面向更高性能的業務發展的需求,需要對jdk進行版本替換或升級。
2、java?應用程序通常依賴于?java?開發工具包(jdk)提供的標準庫和?api。當?jdk版本更新時,api?可能會發生變化,例如方法的增加、刪除、修改等。這些變化可能導致java?應用程序在不同?jdk?版本之間不兼容,影響java?應用程序的正常使用。
技術實現思路
1、本專利技術實施例提供了一種java遷移兼容性處理方法、裝置及存儲介質,以解決現有技術中java?應用程序在不同?jdk?版本之間不兼容,影響java?應用程序的正常使用的技術問題。
2、第一方面,本專利技術實施例提供了一種java遷移兼容性處理方法,包括:
3、對待遷移應用進行反編譯處理,獲取涉及的類、方法和接口;
4、對所述應用的當前jdk和遷移后的jdk進行分析,生成差異數據庫,所述差異數據庫中記錄多個最小差異單元;
5、根據所述涉及的類、方法和接口和差異數據庫確定涉及的最小差異單元;
6、利用預設的兼容性修改策略文件根據所述涉及的最小差異單元查找對應的修改
7、利用所述修改策略查找所述涉及的最小差異單元所在的位置,并利用所述修改策略對所述位置的字節碼進行替換。
8、第二方面,本專利技術實施例還提供了一種java遷移兼容性處理裝置,包括:
9、獲取模塊,用于對待遷移應用進行反編譯處理,獲取涉及的類、方法和接口;
10、生成模塊,用于對所述應用的當前jdk和遷移后的jdk進行分析,生成差異數據庫,所述差異數據庫中記錄多個最小差異單元;
11、確定模塊,用于根據所述涉及的類、方法和接口和差異數據庫確定涉及的最小差異單元;
12、查找模塊,用于利用預設的兼容性修改策略文件根據所述涉及的最小差異單元查找對應的修改策略;
13、替換模塊,用于利用所述修改策略查找所述涉及的最小差異單元所在的位置,并利用所述修改策略對所述位置的字節碼進行替換。
14、第三方面,本專利技術實施例還提供了一種包含計算機可執行指令的存儲介質,所述計算機可執行指令在由計算機處理器執行時用于執行如上述實施例提供的java遷移兼容性處理方法。
15、本專利技術實施例提供的java遷移兼容性處理方法、裝置及存儲介質,通過對待遷移應用進行反編譯處理,獲取涉及的類、方法和接口;對所述應用的當前jdk和遷移后的jdk進行分析,生成差異數據庫,所述差異數據庫中記錄多個最小差異單元;根據所述涉及的類、方法和接口和差異數據庫確定涉及的最小差異單元;利用預設的兼容性修改策略文件根據所述涉及的最小差異單元查找對應的修改策略;利用所述修改策略查找所述涉及的最小差異單元所在的位置,并利用所述修改策略對所述位置的字節碼進行替換。利用對待遷移應用和當前jdk和待遷移的jdk的分析,得到多個最小差異單元,并根據最小差異單元確定不兼容因素和對應的字節碼修改策略對字節碼進行修改。能夠有效應對版本升級帶來的兼容性問題,而無需修改源代碼或重新編譯。與現有方式相比,可以有效降低修改工作量,快速準確的完成兼容性處理,特別適用于維護大型、復雜的應用程序。
本文檔來自技高網...【技術保護點】
1.一種Java遷移兼容性處理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述利用所述修改策略查找所述涉及的最小差異單元所在的位置,并利用所述修改策略對所述位置的字節碼進行替換,包括:
3.根據權利要求2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求1所述的方法,其特征在于,所述對所述應用的當前JDK和遷移后的JDK進行分析,生成差異數據庫,所述差異數據庫中記錄多個最小差異單元,包括:
5.根據權利要求1所述的方法,其特征在于,所述根據所述涉及的類、方法和接口和差異數據庫確定涉及的最小差異單元,包括:
6.根據權利要求4所述的方法,其特征在于,所述利用字節碼分析引擎進行對所述應用的當前JDK和遷移后的JDK進行字節碼分析,得到分析結果,包括:
7.根據權利要求1所述的方法,其特征在于,所述利用所述修改策略對所述位置的字節碼進行替換,包括:
8.根據權利要求7所述的方法,其特征在于,所述利用所述修改策略對所述位置的字節碼進行替換,包括:
9.一種Jav
10.一種包含計算機可執行指令的存儲介質,其特征在于,所述計算機可執行指令在由計算機處理器執行時用于執行如權利要求1-8任一所述的Java遷移兼容性處理方法。
...【技術特征摘要】
1.一種java遷移兼容性處理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述利用所述修改策略查找所述涉及的最小差異單元所在的位置,并利用所述修改策略對所述位置的字節碼進行替換,包括:
3.根據權利要求2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求1所述的方法,其特征在于,所述對所述應用的當前jdk和遷移后的jdk進行分析,生成差異數據庫,所述差異數據庫中記錄多個最小差異單元,包括:
5.根據權利要求1所述的方法,其特征在于,所述根據所述涉及的類、方法和接口和差異數據庫確定涉及的最小差異單元,包括:
...
【專利技術屬性】
技術研發人員:高翔,劉屹松,金旭,趙賽賽,岳耀強,
申請(專利權)人:麒麟軟件有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。