沙漠中的魚

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

          Java調用外部jar文件

          Posted on 2008-08-31 13:12 沙漠中的魚 閱讀(2913) 評論(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程序 !
          主站蜘蛛池模板: 竹北市| 郁南县| 永新县| 连城县| 海口市| 同江市| 泽州县| 永清县| 台安县| 申扎县| 阿拉善盟| 蒙自县| 法库县| 康定县| 大埔区| 山西省| 锦州市| 中阳县| 祁门县| 虎林市| 章丘市| 太康县| 陆河县| 沂水县| 嫩江县| 芜湖市| 镇宁| 申扎县| 卓资县| 绥宁县| 辽中县| 韶山市| 包头市| 含山县| 汉川市| 垫江县| 苏尼特右旗| 二连浩特市| 嘉善县| 收藏| 桦南县|