java调用perl 程序的一个问题

HF_SKY000 2010-05-12 09:09:55
String []cmd ={"cd c:\\","perl exec.pl"};
Process pid = Runtime.getRuntime().exec(cmd);
我的exec.pl程序在c:盘根目录下,我想先进入C盘,然后执行exec.pl.
但是运行后却报一个错误 ,请高手们帮忙分析一下:

错误信息:
cmd:[Ljava.lang.String;@4f1d0d
java.io.IOException: Cannot run program "cd c:\": CreateProcess error=2, ?????????

...全文
513 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeecheng 2010-05-12
  • 打赏
  • 举报
回复
Runtime.getRuntime().exec("perl c:\\exec.pl", null,
new File("C:\\"));
zhui1988 2010-05-12
  • 打赏
  • 举报
回复
应该可以这样写:
//启动
Process pid = Runtime.getRuntime().exec("exec.pl");
//等待进程终止
pid.waitFor();
HF_SKY000 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yeecheng 的回复:]
把java所在路径放到PATH变量里,Process p =Runtime.getRuntime().exec("java"......
[/Quote]

./jre1.6.0_10/bin/java 是把这个写入环境变量里面吗?
yeecheng 2010-05-12
  • 打赏
  • 举报
回复
把java所在路径放到PATH变量里,Process p =Runtime.getRuntime().exec("java"......
HF_SKY000 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yeecheng 的回复:]
Runtime.getRuntime().exec("perl c:\\exec.pl", null,
new File("C:\\"));
[/Quote]

我试了一下是可以调用的.我按照你写的,我试着在UNIX服务器上用JAVA调用别的程序,还是报错.
Process p =Runtime.getRuntime().exec("./jre1.6.0_10/bin/java -cp ./jar/xcodeapi.jar:./jar/activation-1.1.jar:./jar/axis2-soapmonitor-1.2.jar:./jar/axis.jar:./jar/axis-ant.jar:./jar/commons-discovery-0.2.jar:./jar/commons-logging-1.0.4.jar:./jar/jaxrpc.jar:./jar/log4j-1.2.8.jar:./jar/mail-1.4.jar:./jar/saaj.jar:./jar/wsdl4j-1.5.1.jar:./jar/xerces.jar:./jar/foclientapi.jar:jar/smsMsgClient.jar:. com.metarnet.sms.Test "+list[i]+" "+"'"+result+"'",null,new File("/usr2/exec_dir/manager/smsMsgClient_Test;"));

报错信息:

java.io.IOException: Cannot run program "./jre1.6.0_10/bin/java" (in directory "/usr2/exec_dir/manager/smsMsgClient_Test;"): error=2, 无此文件或目录
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at Package_for_java.sms.<init>(sms.java:59)
at Package_for_java.sms.main(sms.java:81)
Caused by: java.io.IOException: error=2, 无此文件或目录
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 5 more

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧