我正在尝试从MySql
应用程序中启动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
的工作正常。
有任何疑问可能是什么问题?
答案 0 :(得分:0)
将mysqld
更改为mysqld.exe
,因为cmd
会在内部为我们执行此操作(查找mysqld.bat
,然后mysqld.cmd
,mysqld.com
,最后mysqld.exe
)。 Java ProcessBuilder
不会遇到太多麻烦。