Uruchom plik .java przy użyciu ProcessBuilder

Jestem początkującym programistą pracującym w Eclipse w systemie Windows XP i muszę uruchomić wiele procesów (będzie to symulacja systemu z wieloma komputerami). Mój początkowy hackup używał wielu wątków do wielu klas, ale teraz próbuję zastąpić wątki procesami.

Z mojego czytania dowiedziałem się, że ProcessBuilder jest najlepszym rozwiązaniem. Próbowałem wieluwiele wersje danych wejściowych, które widzisz poniżej, ale nie mogę przez całe życie dowiedzieć się, jak prawidłowo z nich korzystać. Próbuję uruchomić pliki .java utworzone wcześniej jako klasy (które zmodyfikowałem). W końcu po prostu stworzyłem fałszywy test.java, aby upewnić się, że mój proces działa poprawnie - jego jedyną funkcją jest wydrukowanie, że działa.

Mój kod dla dwóch plików znajduje się poniżej. Czy używam ProcessBuilder poprawnie? Czy to właściwy sposób na odczyt wyników mojego podprocesu? Każda pomoc byłaby bardzo mile widziana.

David

Edytuj: Rozwiązaniem jest zadeklarowanie ProcessBuilder („java.exe”, „- cp”, „bin”, „Broker.test”);

podstawowy proces

<code>package Control;
import java.io.*;
import java.lang.*;

public class runSPARmatch {

/**
 * @param args
 */
public static void main(String args[]) {
    try {       
        ProcessBuilder broker = new ProcessBuilder("javac.exe","test.java","src\\Broker\\");
        Process runBroker = broker.start();

        Reader reader = new InputStreamReader(runBroker.getInputStream());
        int ch;
        while((ch = reader.read())!= -1)
            System.out.println((char)ch);
        reader.close();

        runBroker.waitFor();

        System.out.println("Program complete");

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
</code>

}

podproces

<code>package Broker;

public class test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("This works");
    }
}
</code>

questionAnswers(1)

yourAnswerToTheQuestion