Runtime.getRuntime().exec("cmd.exe/c C:\\jdk1.3\\bin\\start.bat");

解决方案 »

  1.   

    parameter:
    /**
     * Write CommonKey path and file name
     */
     public static String commonKeyfile = "D:\\abc\\src\\com\\iaspec\\bmx\\agent\\messaging\\CommonKey.java";
     
    /**
     * exec command
     */
     public static String command = "D:\\abc\\src\\com\\iaspec\\bmx\\agent\\messaging\\compile1.bat";
     
     /**
     * download file name 
     */
     public static String downClass = "D:\\abc\\src\\com\\iaspec\\bmx\\agent\\messaging\\CommonKey.class";compile1.bat:set CPATH=.;%J2EE_HOME%\lib\j2ee.jar;d:\abc\src
    javac -classpath %CPATH% CommonKey.java
    process:/*
     *Name: InAdaptorIf.java
     *Function: In Adaptor Implements Interface
     *Author: Jin zhongliang
     *Creation date:  2001.06.13
     *
     *Amended by:
     *Amendment description:
     *Amendment date:
     */
    package bmx.admin.objects;import java.io.*;
    import java.lang.*;/**
     * generate common key class Implements class.
     * @author Jin zhongliang
     * @version 1.0
     */
    public class genCommonKey {

    /**
       * getCommonKeyClass.
     * @param participant id 
     * @param java path and file name
     * @param exec command
       */
    public synchronized static void getCommonKeyClass(String url,String fileName,String command) throws Exception {
    writeFiles(url,fileName);
    Thread.sleep(200);
    toClass(command);
    }
      
    /**
              * generate java file
     * @param participant id 
     * @param java path and file name
              */
    private static void writeFiles(String url,String fileName) throws Exception {
    try{
    ParticipantDB part = new ParticipantDB();
    String sKey = part.getKey(url);
    String sCode ="";
    sCode += "package com.iaspec.bmx.agent.messaging;\n";
    sCode += "public class CommonKey {\n";
    sCode += "    public static String KEY = \"" + sKey + "\";\n";
    sCode += "}\n";
             RandomAccessFile f = new RandomAccessFile(fileName,"rw");
           f.writeBytes(sCode);
           f.close();
        }catch(Exception e){
    throw new Exception(e.getMessage());
    }
    }

    /**
              * compile java file
     * @param exec command
              */
    private static void toClass(String command) throws Exception {
    try {
    Process p = Runtime.getRuntime().exec(command);
    p.waitFor();
    } catch(Exception e) {
       System.out.println(e.getMessage());
    throw new Exception(e.getMessage());
    }
    }}
      

  2.   

    为什么用这种方法?
    我得记忆里面sun有一个javac类