0

Javaコンソールアプリケーションから次のコマンドを実行する必要があります。

 /usr/bin/java -Xms512m -Xmx3072m -jar /Users/ivan/Desktop/market/market.jar 500 500 1 1 0.1 true true /Users/ivan/Desktop/market/files/simulationResult/

私はこれを試しましたが、うまくいきませんでした:

 Process child = Runtime.getRuntime().exec(new String[]{command}); // command is the string written above

他にも色々試してみましたが、うまくいきませんでした。何か助けはありますか?

ところで、私はMacを使用しています(重要な場合)。

編集:上記のコードでは、次のエラーが発生します:

Exception in thread "main" java.io.IOException: Cannot run program "java -Xms512m -Xmx3072m -jar /Users/ivan/Desktop/market/market.jar 500 500 1 1 0.1 true true /Users/ivan/Desktop/market/files/simulationResult/": error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at java.lang.Runtime.exec(Runtime.java:593)
    at java.lang.Runtime.exec(Runtime.java:466)
    at SimulationStarter.main(SimulationStarter.java:59)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
    at java.lang.ProcessImpl.start(ProcessImpl.java:91)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 3 more

編集#2:文字列「コマンド」の代わりにこれを送信しています:

            String[] commands = new String[]{
                    "/bin/bash", "-c",
                    "\"/usr/bin/java -Xms512m -Xmx3072m -jar " + simulatorPath + " "
                    + var1 + " "
                    + var2 + " "
                    + var3 + " "
                    + var4 + " "
                    + var5 + " "
                    + var6 + " "
                    + var7 + " "
                    + var8 + " "
                    + "\""          
            };

しかし、私はまだ得/bin/bash: /usr/bin/java -Xms512m -Xmx3072m -jar /Users/ivan/Desktop/market/market.jar 500 500 2 1 0.1 true true /Users/ivan/Desktop/market : No such file or directoryます。

child.waitFor()番号127を返します。

4

1 に答える 1

2

コマンドが上記の文字列の場合

new String[]{command}

1つのアイテムを持つ文字列配列を提供します。次のようなものを試してみてください

command.split(' ')

command は、上記のコマンドを含む String 変数です。

于 2012-05-02T15:36:40.997 に答える