沙漠中的魚

          欲上天堂,先下地獄
          posts - 0, comments - 56, trackbacks - 0, articles - 119
            BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          Java調用外部jar文件

          Posted on 2008-08-31 13:12 沙漠中的魚 閱讀(2909) 評論(1)  編輯  收藏 所屬分類: Java
          一、建立Service接口(Service.java):
          package service;
          public interface Service {
              
          public void start();
              
          public void shutdown();

          }
          二、建立接口的實例化應用(AppDemo.java):
          package application;

          import service.Service;

          public class AppDemo implements Service {

              
          public void shutdown() {
                  System.out.println(
          "關閉");

              }


              
          public void start(){
                  System.out.println(
          "啟動");

              }


          }
          三、將AppDemo.java導出為Jar包,并將其放置在工程的application目錄下。
          四、新建Jar包加載類(
          JarLoader.java):
          package loader;

          import java.net.MalformedURLException;
          import java.net.URL;
          import java.net.URLClassLoader;

          public class JarLoader extends URLClassLoader {
              
              
              
          private static JarLoader loader = null;
              
              
          private JarLoader(){
                  
          super(new URL[0], JarLoader.class.getClassLoader());
              }

              
          public static JarLoader getInstance(){
                  
          if(loader==null)
                      loader 
          = new JarLoader();
                  
          return loader;
              }

              
          public void addURL(String url) throws MalformedURLException {

                  
          this.addURL(new URL(url));
              }


          }
          五、測試一下:
          package test;

          import java.net.MalformedURLException;


          import service.Service;

          import loader.JarLoader;

          public class Test {

              
          /** *//**
               * 
          @param args
               
          */

              
          public static void main(String[] args) {
                  JarLoader loader 
          = JarLoader.getInstance();

                  
          try {
                      loader.addURL(
          "jar:file:///"+System.getProperty("user.dir")
                              
          + "/application/app1.jar" + "!/");
                      Service serv 
          = (Service)Class.forName("application.AppDemo"true, loader).newInstance();
                      serv.start();
                      serv.shutdown();
                  }
           catch (MalformedURLException e) {
                      e.printStackTrace();
                  }
           catch (InstantiationException e) {            
                      e.printStackTrace();
                  }
           catch (IllegalAccessException e) {            
                      e.printStackTrace();
                  }
           catch (ClassNotFoundException e) {            
                      e.printStackTrace();
                  }


              }


          }

          轉自:http://blog.csdn.net/ms2578/archive/2007/12/15/1939307.aspx

          評論

          # re: Java調用外部jar文件  回復  更多評論   

          2010-01-28 17:02 by 倫理電影


          Process p = Runtime.getRuntime().exec(cmd); 這樣還是運行不了外部jar程序 !
          主站蜘蛛池模板: 邯郸县| 临武县| 湟中县| 兴文县| 宝兴县| 长治县| 施秉县| 永寿县| 新田县| 兴文县| 望谟县| 英超| 清徐县| 朝阳区| 体育| 鄂尔多斯市| 留坝县| 梁平县| 济宁市| 伊川县| 黔西县| 诸暨市| 明星| 桐柏县| 新民市| 师宗县| 曲沃县| 双流县| 南投县| 洪湖市| 马边| 卢氏县| 蕉岭县| 红河县| 翼城县| 塔河县| 通河县| 定陶县| 乡城县| 綦江县| 衡东县|