X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalview.java;fp=src%2Fjalview%2Fbin%2FJalview.java;h=82036639a791c013d5c42ddb26f0d2982a1d404f;hb=35a7f4a91aa5974bc3a3b122f62c7f6eeae17118;hp=062a22a6ce6336ff3776a4e14f8b8e03bed01381;hpb=ff1dd4e580de0b101e35f148388e5b891d7ba79d;p=jalview.git diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java index 062a22a..8203663 100755 --- a/src/jalview/bin/Jalview.java +++ b/src/jalview/bin/Jalview.java @@ -199,18 +199,35 @@ public class Jalview || System.getProperty("java.version").startsWith("1.9."); if (maxMemory < 1024 * 14) { - String cmd = ""; + ArrayList cmd = new ArrayList(); + + boolean dontspawn=false; for (String r : args) { - cmd += (cmd.length() == 0) ? r : " " + r; + cmd.add(r); + if (r.indexOf("-Xmx")>-1) { + dontspawn=true; + break; + } } - if (cmd.indexOf("-Xmx") == -1) + if (!dontspawn) { - cmd = "-Xmx15G " + cmd; - System.err.println("relaunching with 15G: " + cmd); - Worker worker = Worker.jalviewDesktopRunner(false, cmd, 0, - "-Xmx15G" - + (is9or10 ? " --add-modules=\"java.se.ee\"" : "")); + cmd.add("-Xmx15G"); + String[] javargs=new String[1]; + if (is9or10) { + javargs = new String[2]; + javargs[1] = "--add-modules=java.se.ee"; + } + javargs[0]="-Xmx15G"; + + System.err.print("relaunching with 15G: "); + for (String r : cmd) + { + System.err.print(r + " "); + } + System.err.println(""); + Worker worker = Worker.jalviewDesktopRunner(false, + cmd.toArray(new String[0]), 0, javargs); worker.doEcho(); try {