副機能として Minecraft を起動するプログラムを書いています。現在、以下は 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);
テストを通じて、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});
何らかの理由で、上記のコードは Minecraft を起動しませんが、文字列の結果を取得し、文字通りコピーして端末に貼り付けます。
これどうしたの?