Java 動態載入Jar包,並使用
將一個jar包動態載入到java虛擬機中
import java.io.File;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
import org.apache.commons.lang3.reflect.FieldUtils;
public class JarTools {
protected static Method addURL = null ;
static{
try {
addURL = URLClassLoader.class.getDeclaredMethod("addURL", new Class[] { URL.class }) ;
addURL.setAccessible(true);
} catch (Exception e) {
}
}
/**
* 動態載入Jar包到內存中
* */
public static Object loadJar(String jarFile, String className) {
try {
File file = new File( jarFile );
if (!file.exists) {
throw new RuntimeException(jarFile + "不存在");
}
addURL.invoke(ClassLoader.getSystemClassLoader, new Object { file.toURI.toURL });
return Class.forName( className ,false , ClassLoader.getSystemClassLoader ).newInstance;
} catch (Exception e) {
e.printStackTrace;
} finally {
}
return null;
}
public static void main(String[] args) throws Exception {
Object loadJar = loadJar("C:/commons-io-2.4.jar", "org.apache.commons.io.Charsets") ;
Field field = loadJar.getClass.getField("UTF_8");
System.out.println(FieldUtils.readDeclaredStaticField(loadJar.getClass, field.getName));
}
}


※EF之通過不同條件查找去重複
※Github 開源:高效好用的對象間屬性拷貝工具:升訊威 Mapper
TAG:科技優家 |
※使用Visual Studio來創建動態庫/靜態庫,並載入
※JasperLoader:主攻義大利的惡意軟體載入器
※React loadable 按需載入 個人使用記錄
※VasSonic源碼之並行載入
※12c sql×loader快捷模式,不用控制文件也可以載入數據
※switch漏洞被公開,可以載入linux運行模擬器
※Unity發布WebGL時如何修改/刪除默認的Logo和載入進度條
※Google正在為Gmail增加快速載入的AMP技術
※springboot與rabbitMQ實現延遲載入
※router-router 4 按需載入實踐
※不等loading...我們用原創載入 AdidasOriginals P.O.D | Xsneaker
※django載入css文件和圖片
※PlayCoin 載入尖端安保技術於自主加密貨幣電子錢包「UnionWallet」
※主機遊戲載入太慢 用希捷新版Xbox Game Drive SSD時間減半
※Spring源碼閱讀——Bean的載入和獲取過程
※Office因vbe6ext.olb無法載入打不開如何解決?
※cocos2dx實現載入頁loading頁,載入進度條和載入字樣(附代碼)
※Photoshop製作簡潔的網頁載入GIF動畫
※Lumia手機載入ARM版Win10:觸屏已經可以使用
※Windows 10 Mail更新:可載入外部伺服器上的圖片