2

私はプログラムを作成していますが、それは でClaferを呼び出さなければなりませんclafer -m=xml Case5.cfr

だから私は使う

ProcessBuilder pb = new ProcessBuilder("clafer -m=xml " + "Case5.cfr");
pb.directory(new File("C:\\Users\\unituser\\workspace\\com.unitbilisim.clafer2Ecore\\src\\model\\"));
Process P = pb.start();

ただし、常に次のエラーが発生します。

Exception in thread "main" java.io.IOException: Cannot run program "clafer -m=xml Case5.cfr" (in directory "C:\Users\unituser\workspace\com.unitbilisim.clafer2Ecore\src\model"): CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(Unknown Source)
    at EmfCompare.emfCompareDeneme.main(emfCompareDeneme.java:54)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(Unknown Source)
    at java.lang.ProcessImpl.start(Unknown Source)
    ... 2 more

理由がわかりません。誰でも私を助けることができますか?

4

2 に答える 2

2

としてみてください

Process p = Runtime.getRuntime().exec("clafer -m=xml Case5.cfr", null, new File("C:\\Users\\unituser\\workspace\\com.unitbilisim.clafer2Ecore\\src\\model\\"));

また

Process p = new ProcessBuilder("clafer", "-m=xml", "Case5.cfr")
   .directory(new File("C:\\Users\\unituser\\workspace\\com.unitbilisim.clafer2Ecore\\src\\model\\"))
   .start();
于 2013-02-16T15:19:50.977 に答える
0

これを使用できます:

final Runtime rt = Runtime.getRuntime();
rt.exec("OS command");

編集 も使用できますProcessBuilder

両方の例については、このリンクを確認してください

于 2013-02-16T14:22:27.373 に答える