|| System.getProperty("java.version").startsWith("1.9.");
if (maxMemory < 1024 * 14)
{
- String cmd = "";
+ ArrayList<String> 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
{