日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
利用java怎么將外部jar包添加到lasspath-創(chuàng)新互聯(lián)

利用java怎么將外部jar包添加到lasspath?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、寧德網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站商城開發(fā)、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為寧德等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

java動態(tài)添加外部jar包到classpath的實例詳解

前言:

  在項目開發(fā)過程中我們有時候需要動態(tài)的添加外部jar包,但是具體的業(yè)務(wù)需求還沒有遇到過,因為如果動態(tài)添加外部jar包后,我們就需要修改業(yè)務(wù)代碼,而修改代碼就需要重新啟動服務(wù),那樣好像就沒有必要動態(tài)添加外部jar包了,怎么樣才能不重新啟動服務(wù)器就可以使用最新的代碼我沒有找到方法,如果各位知道的話給我點建議,回歸主題,實現(xiàn)動態(tài)添加外部jar包到classpath的方法如下:

String beanClassName = "com.dynamic.DynamicBean3"; 
Map> classMap = new HashMap>(); 
String filePath = "f:\\testDynamicBean-1.0-SNAPSHOT.jar"; 
String uFilePath = "file:f:\\testDynamicBean-1.0-SNAPSHOT.jar"; 
 
URL url1 = new URL(uFilePath); 
URLClassLoader urlClassLoader = new URLClassLoader(new URL[] { url1 }, Thread.currentThread() 
        .getContextClassLoader()); 
List jarEntryList = new ArrayList<>(); 
JarFile jarFile = new JarFile(filePath); 
Enumeration jarEntryEnumeration = jarFile.entries(); 
while (jarEntryEnumeration.hasMoreElements()){ 
   JarEntry jarEntry = jarEntryEnumeration.nextElement(); 
   if (//jarEntry.getName().startsWith(filePath) && 
      jarEntry.getName().endsWith(".class")) { 
        jarEntryList.add(jarEntry); 
      } 
    } 
 
   for (JarEntry entry : jarEntryList) { 
      String className = entry.getName().replace('/', '.'); 
      className = className.substring(0, className.length() - 6); 
      if(!classMap.containsKey(beanClassName)){ 
        Class<?> loadClass = urlClassLoader.loadClass(className); 
        classMap.put(className,loadClass); 
      } 
    } 
    try { 
      Method printMethod = classMap.get(beanClassName).getMethod("printBean3"); 
      printMethod.invoke(classMap.get(beanClassName).newInstance()); 
    } catch (IllegalAccessException e) { 
      e.printStackTrace(); 
    } catch (InvocationTargetException e) { 
      e.printStackTrace(); 
    } catch (NoSuchMethodException e) { 
      e.printStackTrace(); 
    } catch (InstantiationException e) { 
      e.printStackTrace(); 
    } 


網(wǎng)站題目:利用java怎么將外部jar包添加到lasspath-創(chuàng)新互聯(lián)
路徑分享:http://www.dlmjj.cn/article/cceoos.html