日期:2014-05-17  浏览次数:20700 次

Java在Windows平台上调用exe不传参的问题

当我们用Java调用exe的时候,执行了exe并没有得到输出结果,而在dos下该exe可以正确运行,

如果该exe有以下特点:

1输入参数是一个文件或多个。

2输出结果到一个文件或多个。


那么就要考虑另一种解决办法了,用bat,而不是直接使用exe。

批处理文件是很好写的可以直接写上命令的绝对路径即可。

"D:\make.exe" %*


%*就表示给bat传递参数。


至于为什么会产生以上原因,估计是Windows上的Java虚拟机对exe处理的bug。


建议:在程序中通过调用批处理来代替调用外部复杂的exe。

后来,经过很多天后,才发现并不是Java虚拟机的bug,而是在Windows上装的杀毒软件把此调用给屏蔽了,所以把杀毒软件禁用后就可以了。