日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

用JAVA程序來編譯RMI,啟動RMIRegistry

 螞蟻搬家 2009-03-13
用JAVA程序來編譯RMI,啟動RMIRegistry收藏

今天早上做實驗,做的是一個基于RMI的會議議程系統(tǒng),每次運行都的打開DOS,輸入RMIC,再輸入RMIRegistry,很麻煩,心里就想著既然這么麻煩,我就寫一個程序,一口氣都執(zhí)行了,省的麻煩。

想了兩個解決方法,一個就是利用Ant的API,不過這個代碼只能RMIC代碼,不能執(zhí)行RMIRegistry,代碼如下,有注釋,絕對原創(chuàng)!呵呵

  1.     /**
  2.      * CLASSPATH指向tools.jar,在運行前,要打開Open Run
  3.      * Dialog,在ClassPath標簽頁中,再將tools.jar加到Bootstrap Entries
  4.      */
  5.     private final static String CLASSPATH = "C:/Program Files/Java/jdk1.5.0_04/lib/tools.jar";
  6.     public static void main(String[] args) {
  7.         if (args.length == 0) {
  8.             System.out.println("沒有輸入類!");
  9.             System.exit(0);
  10.         } //
  11.         // 獲得當前的類路徑 // String classPath = System.getProperty("java.class.path");
  12.         String classPath = getPath();
  13.         String classname = args[0];// 完整的類名
  14.         System.out.println("要編譯的類名為:" + classname);
  15.         try {
  16.             Class.forName(classname);
  17.         } catch (ClassNotFoundException e) {
  18.             System.out.println("無此類");
  19.             System.exit(0);
  20.         }
  21.         Project project = new Project();
  22.         Rmic compiler = new Rmic();
  23.         compiler.setProject(project);
  24.         Path path = new Path(compiler.getProject(), CLASSPATH);
  25.         compiler.setClasspath(path);
  26.         FilenameSelector filenameSelector = new FilenameSelector();
  27.         filenameSelector.setName("*.java");
  28.         compiler.addFilename(filenameSelector);
  29.         compiler.setClassname(classname);
  30.         compiler.setStubVersion("1.1");//
  31.         // 1.1就代表 -v1.1,也就是說是jdk1.4 compiler.setBase(new File(classPath));//
  32.         // 就是bin目錄 
  33.         compiler.execute();
  34.     }

這個使用了ANT技術(shù),但是還不能讓RMIRegistry啟動,所以使用了Runtime這個類,來調(diào)用cmd命令,寫一個后綴是.cmd的cmd文件

文件內(nèi)容如下,其實就是你打開DOS輸入的命令

cd D:\toNj\rmi\bin   //是我的類路徑
rmic -v1.1 rmi.server.impl.MeetManager //包名加類名
rmiregistry 9000 //啟動9000端口作為名字服務(wù)端口

 

接下來使用這段代碼就OK了

 

  1. Runtime rt = Runtime.getRuntime();
  2.  Process p = rt.exec("./src/rmic/text.cmd");//傳入的參數(shù)是文件的URL
  3.  p.waitFor();// 等待,不讓子進程結(jié)束

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多