Windows 2008のNFSがインストールされていますが、C:/Windows/System32/mount.exeまたはumount.exeにアクセスしてJavaで実行しようとすると、ファイルが見つからないIO例外が発生します。文句を言わないJavaのWindows NFSでRuntime.getRuntime()。exec()問題
Runtime.getRuntime().exec("cmd.exe /C call C:/Windows/System32/mount.exe <location> J:");
ファイルにもJavaの
if(new File("C:/Windows/System32/mount.exe").exists())
System.exit(0);
else
System.exit(-1);
を通じてこのコードを既存ます常に終了-1
として登録:Runtime.getRuntime().exec("C:/Windows/System32/mount.exe <location> J:");
これもdoesntの仕事、あなたがそれを可能性が考えていたならば
ファイルが実際に存在し、私のコマンドが動作することを何度も確認しました。何が起こっている? Java for Windowsを使ってNFSドライブをマウントするにはどうしたらいいですか?
java.io.IOException: Cannot run program "C:/Windows/System32/mount.exe": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at Data.SystemExecutor.exec(SystemExecutor.java:46)
at Data.SystemExecutor.exec(SystemExecutor.java:18)
at Mount.Mount.setMount(Mount.java:40)
at Mount.Mount.<init>(Mount.java:30)
at Main.Main.main(Main.java:94)
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)
... 6 more
私は「YOURCLASSのjava」を実行.BATファイルを作成しようとすると、管理者として実行あまりにも管理者として
ポストスタックトレースしてください。 –
これはbitness(つまり、SUAの64ビットバージョンがインストールされた32ビットバージョンのJavaを実行している)の問題のようです。 'C:\ Windows \ System32'は、32ビットアプリケーション用に' C:\ Windows \ SYSWOW64'にリダイレクトされます。 [この質問](http://stackoverflow.com/questions/1855042/system32-folder-on-a-64-bit-system) – ig0774
@ user1314180:完了。あまりにもずっと前に私自身も同様の問題に取り組んでいたので、この種のことは私の心の中にあった。 – ig0774