如何从Java有效地调用Perl程序?

时间:2010-02-18 10:51:07

标签: java perl

我正在尝试用Java运行Perl程序。

我正在使用:

process = Runtime.getRuntime().exec("getComps.pl");

但它正在给予:

  

异常:java.io.IOException:不能   运行程序“getComps.pl”:   CreateProcess error = 193,%1不是a   有效的Win32应用程序

我也尝试过:

process = Runtime.getRuntime().exec("cmd /c start getComps.pl");
process = Runtime.getRuntime().exec("cmd /c call getComps.pl");

但这并没有给出任何结果。

执行程序后给出空文件并花费大量时间执行。

是否有一种从Java调用Perl程序的有效方法?

2 个答案:

答案 0 :(得分:2)

我想你遇到的问题是perl脚本本身不可执行,你需要调用Perl本身。使用您当前的方法,您可以执行以下操作:

process = Runtime.getRuntime().exec("perl getComps.pl")

但还有其他选择,请查看this question的答案。

答案 1 :(得分:0)

是否有人试过Perl2EXE?有了这个,您可以将perl转换为EXE,然后调用:

Process process = Runtime.getRuntime().exec("getComps <ARGS>")