[引言]
我們在學習Java編程時都知道,Java的項目發布成類型為jar的文件,如果是runnable jar文件可以直接運行。而如果是普通的jar文件,則可以引入到其他項目中重用。今天小博老師就和大家交流一下,在項目中引入其他jar文件的使用。
[步驟閱讀一]預先加載Jar到Library
這種方式相信學習了一段時間的朋友都不陌生,將現成的jar文件引入到項目的Library庫中,便可以直接使用了,在框架開發的配置中尤為常見,在這里就不浪費時間再過多重復了。
但是有的時候(C/S模型項目居多),我們的項目已經發布完畢,并且已經安裝到多臺客戶端上,這個時候我們需要對程序進行更新,那么勢必需要重新編譯并且發布項目,然后在每一個客戶端上重新安裝新的程序,這會使得我們的更新工作非常麻煩(C/S模型項目龐客戶端的通病)。那么如何有效降低龐客戶端的更新工作量呢?接下來小博老師就給大家介紹一種動態解析Jar的方法。
[步驟閱讀二]生成Jar
小博老師通過一個簡答的計算器案例,最初只有加法和減法功能,后期需要更新乘法和除法的功能,來讓大家體驗一下動態加載Jar的使用方法。
首先我們設計計算器中計算方法的抽象父類,核心代碼如下:
packagecom.bwf.common;
/**
* 計算的抽象父類
* */
publicabstractclassCalculate {
protecteddoublenum1;// 參與計算的第一個數據
protecteddoublenum2;// 參與計算的第二個數據
protectedStringsymbols;// 運算的符號
/**
* 計算結果的抽象方法
*@return運算后的結果
* */
publicabstractdoublegetResult();
// 省略getter和setter
}
接下來我們設計加法運算的派生實現類,核心代碼如下:
packagecom.bwf.common.calculate.version0001;
importcom.bwf.common.Calculate;
/**
* 加法運算派生實現類
* */
publicclassAdditionextendsCalculate{
publicAddition(){
symbols="+";// 設置運算的符號
}
/**
* 實現抽象超類中的抽象方法,加法運算的實現
*@return通過加法運算后的結果
* */
publicdoublegetResult() {
returngetNum1() + getNum2();
}
}
同樣的方式,我們設計減法運算的派生實現類,核心代碼如下:
packagecom.bwf.common.calculate.version0001;
importcom.bwf.common.Calculate;
/**
* 減法運算派生實現類
* */
publicclassSubtractionextendsCalculate{
publicSubtraction(){
symbols="-";// 設置運算的符號
}
/**
* 實現抽象超類中的抽象方法,減法運算的實現
*@return通過減法運算后的結果
* */
publicdoublegetResult() {
returngetNum1() - getNum2();
}
}
接下來我們把加法和乘法的實現類,發布成jar文件,放在項目中新建文件夾calculates中。