0

MySqlアプリケーション内から DBを開始しようとしていJavaます。プログラムは次の方法でパスを見つけます

public static File getPath() {
    return new File(DataAccess.class.getProtectionDomain().getCodeSource().getLocation().getPath());}

これは後で次のように呼び出されます。

Process p = null;
ProcessBuilder pb = new ProcessBuilder("mysqld");
pb.directory(getPath());
p = pb.start();

次の例外が発生します。

java.io.IOException: Cannot run program "mysqld" (in directory "C:\myProgram\bin"): CreateProcess error=2

ただしC:\myProgram\bin\mysql、経由で実行すると問題なく動作します。cmd

何が問題なのか手がかりはありますか?

4

1 に答える 1

0

内部で行われるように、 に変更mysqldします ( 、 then 、および finallyを探します)。Javaはそれほど問題にはなりません。mysqld.execmdmysqld.batmysqld.cmdmysqld.commysqld.exeProcessBuilder

于 2013-06-19T04:46:58.167 に答える