+private Worker jalviewDesktopRunner(boolean withAwt, String cmd, int timeout) throws InterruptedException, IOException
+ {
+ String _cmd = "java "+(withAwt ? "-Djava.awt.headless=true":"")+" -Djava.ext.dirs=./lib -classpath ./classes jalview.bin.Jalview ";
+ System.out.println("###############Jalview CMD: " + _cmd+cmd);
+ Process ls2_proc = Runtime.getRuntime().exec(_cmd+cmd);
+ BufferedReader outputReader = new BufferedReader(new InputStreamReader(
+ ls2_proc.getInputStream()));
+
+ BufferedReader errorReader = new BufferedReader(new InputStreamReader(
+ ls2_proc.getErrorStream()));
+ Worker worker = new Worker(ls2_proc);
+ worker.start();
+ worker.join(timeout);
+ System.out.println("Output: ");
+ String ln = null;
+ while ((ln = outputReader.readLine()) != null)
+ {
+ System.out.println(ln);
+ }
+
+ System.out.println("Error: ");
+ while ((ln = errorReader.readLine()) != null)
+ {
+ System.out.println(ln);
+ }
+ return worker;
+ }