我写了段代码想在子进程中运行Jar文件.但是在运行时出错说:Unable to access jarfile dd.jar.请各位大哥帮帮忙.谢谢!!
代码如下:
package JavaStudy;
import java.io.*;
public class Errout {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Process p = Runtime.getRuntime().exec( "java -jar dd.jar ");
Process pp = Runtime.getRuntime().exec( "java test ");
BufferedReader err = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String line;
while((line = err.readLine()) != null)
{
System.out.println(line);
}
BufferedReader err1 = new BufferedReader(new InputStreamReader(pp.getInputStream()));
String lines;
while((lines = err1.readLine()) != null)
{
System.out.println(lines);
}
}
}
运行结果:
Unable to access jarfile dd.jar
你好!这是我的第一个程序!
------解决方案--------------------
Runtime.getRuntime().exec( "java -jar dd.jar ");
------解决方案--------------------
又见猫咪~~
楼上正解!基本上可以认为exec的参数和你在控制台里输入的命令一致
------解决方案--------------------
路径问题。
Runtime.getRuntime().exec( "java -cp . -jar dd.jar ");//如果dd.jar在当前目录其他类似
如果在系统的CLASSPATH你设置了dd.jar的路径就可以这样了
Runtime.getRuntime().exec( "java -jar dd.jar ");
------解决方案--------------------
楼上正解,要不写dd.jar的绝对的路径,要不加classpath