java 执行jar包

我在linux下,用一个java类启动一个已经打成jar包的工程,核心代码如下:
Process process = Runtime.getRuntime().exec("java -jar /home/proct.jar");

这样的话,整个jar包可以顺利执行,但是如果我在这句代码后面,让该java类休眠的话,jar包也不运行了,代码如下:
Process process = Runtime.getRuntime().exec("java -jar /home/proct.jar");
Thread.sleep(5000);

请问这是怎么回事?

第1个回答  2012-04-27
请试一下:

控制面板--文件夹选项--文件类型-找到jar 选定,再高级--新建
第一个填run
第二个填找到java.exe
"1%"
改成 "-jar"
注意:
1、新建后要注意修改下,运行时,不要双击运行,可能默认不是这个run打开,右键选择run即可。
2、版本影响,你用eclipse生成的jar其中的manifest.mf文件内容中版本可能与你实际运行的机器上的版本不一致。

例如:
"D:\Program Files\Java\jre1.5.0_06\bin\java.exe" -jar "%1" %*

运行时可能是一闪而过。当你设置了输入时会等待你的输入。
第2个回答  2012-04-17
我试着运行了下面的代码,发现是OK的,是不是你的jar包中的代码有问题?
Process proc = Runtime.getRuntime().exec("cmd.exe /C set");
Thread.sleep(5000);
BufferedReader in = new BufferedReader(new InputStreamReader(
proc.getInputStream()));
String returnFromCMD = in.readLine();//取得命令行的返回值(输出的结果?)。
while (returnFromCMD != null) {
System.out.println("read_Rrocess= "+returnFromCMD);
returnFromCMD = in.readLine();
}
in.close();本回答被提问者采纳
第3个回答  2012-04-19
你多实验一下吧。别人看看
相似回答