當前位置:
首頁 > 知識 > Java 動態載入Jar包,並使用

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更新:可載入外部伺服器上的圖片