尝试启动Nmap.exe时Java Runtime.exec()出现问题

时间:2010-03-07 01:14:15

标签: java command-prompt runtime.exec nmap

我正在使用Java 1.6,Eclipse,Windows 7。 我正在尝试在java程序中运行命令以使用NMAP。

代码:

String cmd[] = { "cmd.exe", "/c","start notepad.exe"};

Process pr = rt.exec(cmd);

工作正常,但代码:

String cmd[] = { "cmd.exe", "/c","start nmap.exe"};

Process pr = rt.exec(cmd);

根本就没有。

我在命令提示符下尝试了两个命令,它们都运行正常但后者在我使用Runtime.exec()尝试时失败了。会出现什么问题?

先谢谢..

1 个答案:

答案 0 :(得分:2)

也许"When Runtime.exec() won't"可以帮到你。

命令在命令shell中而不是在Java中工作的原因可能是命令shell的优点是能够引用PATH环境变量来查找它; Java不能。我敢打赌,如果你把Nmap.exe的完整路径放在一起你会更好。