沙漠中的魚

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

          Java調(diào)用外部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調(diào)用外部jar文件  回復  更多評論   

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


          Process p = Runtime.getRuntime().exec(cmd); 這樣還是運行不了外部jar程序 !
          主站蜘蛛池模板: 都昌县| 宜良县| 比如县| 赞皇县| 吉安市| 武汉市| 永康市| 江北区| 玛曲县| 佛坪县| 德钦县| 若尔盖县| 淳化县| 墨竹工卡县| 哈尔滨市| 绍兴县| 买车| 通海县| 兴山县| 汪清县| 察雅县| 泗水县| 铁岭市| 陆良县| 镇赉县| 天全县| 彰武县| 始兴县| 克拉玛依市| 江川县| 敦煌市| 中阳县| 东山县| 商城县| 马龙县| 卓尼县| 西安市| 揭阳市| 沅江市| 九寨沟县| 师宗县|