Java sur OS X: Runtime.exec minecraft.pot à ne rien faire


J'écris un programme qui, en tant que fonctionnalité secondaire, lance Minecraft. Actuellement, ce qui suit fonctionne correctement sous Windows:

String osSeparator = ";";
String osSeparatorLast = ";";
Runtime.getRuntime().exec("java -Xms" + settings.MinimumMemory() + " -Xmx" + settings.MaximumMemory() + " -cp \"" + bP + "minecraft.jar" + osSeparator + bP + "jinput.jar" + osSeparator + bP + "lwjgl.jar" + osSeparator + bP + "lwjgl_util.jar" + osSeparatorLast + "\" -Djava.library.path=\"" + bP + "natives\" net.minecraft.client.Minecraft" + " " + username + " " + sessionID);

Grâce aux tests, j'ai trouvé le résultat des travaux suivants lorsqu'ils sont entrés manuellement dans le terminal OS X:

String osSeparator = ":";
String osSeparatorLast = "";
Runtime.getRuntime().exec(new String[] {"java", "-Xms" + settings.MinimumMemory(), "-Xmx" + settings.MaximumMemory(), "-cp \"" + bP + "minecraft.jar" + osSeparator + bP + "jinput.jar" + osSeparator + bP + "lwjgl.jar" + osSeparator + bP + "lwjgl_util.jar" + osSeparatorLast + "\"", "-Djava.library.path=\"" + bP + "natives\"", "net.minecraft.client.Minecraft", username, sessionID});

Pour une raison quelconque, le code ci-dessus ne démarre pas Minecraft, mais en prenant le résultat de la chaîne et en copiant/collant littéralement dans le terminal.

Qu'est-ce qui se passe avec ça?

Author: Qantas 94 Heavy, 2013-02-17

1 answers

Y a-t-il une raison pour laquelle vous passez un tableau? Pourquoi n'est-il pas formaté comme le 1er exemple?

Cela devrait fonctionner:

String osSeparator = ":";
String osSeparatorLast = "";
Runtime.getRuntime().exec("java -Xms" + settings.MinimumMemory() + " -Xmx" + settings.MaximumMemory() + "-cp \"" + bP + "minecraft.jar" + osSeparator + bP + "jinput.jar" + osSeparator + bP + "lwjgl.jar" + osSeparator + bP + "lwjgl_util.jar" + osSeparatorLast + "\"" + " -Djava.library.path=\"" + bP + "natives\" " + "net.minecraft.client.Minecraft" + username + sessionID);
 0
Author: alexganose, 2013-02-17 01:11:25