【发布时间】:2017-03-12 20:29:00
【问题描述】:
我对运行 mysqldump 时 Runtime 的 exec() 方法的行为有点好奇。我正在运行以下命令:
mysqldump --user=root --hex-blob [database name] -r [path to sql file]
我想知道的是,运行时在哪里搜索程序 mysqldump.exe?
我看到有些人在使用运行时执行 mysqldump.exe 时会提供整个文件路径。为什么是这样?
之所以好奇,是因为我有两种情况:
- 在一台 Windows 机器上,如果我打开运行并键入“cmd”,它将打开一个默认位置为 C:/ 的命令窗口。在这台机器上运行 mysqldump 命令可以工作。
- 在另一台 Windows 机器上,如果我打开运行并键入“cmd”,它将打开一个默认位置为 H:/ 的命令窗口。在这台机器上运行 mysqldump 命令失败。 Java 的运行时找不到文件 mysqldump.exe。
有没有可能两台windows机器有不同的默认驱动,如果我不提供mysqldump.exe的完整路径,系统会在默认驱动中查找?
提前致谢!
【问题讨论】:
-
它们有相同的环境变量吗?
-
是的,它们是一样的。
标签: java mysql runtime.exec