将Java程序运行到另一个程序中

时间:2012-09-05 09:54:23

标签: java eclipse process runtime.exec

  

可能重复:
  Execute another jar in a java program

我尝试从另一个java应用程序中运行带有java应用程序的jar文件,但我无法让它工作。我的代码在

之下
// run Jar in other java application
Runtime run=Runtime.getRuntime();           
run.exec("java -jar ManichemManagerRotas BatchProcess 8 2012");

我尝试用三个参数运行manichemmanagerrotas.jar

我能做到的所有方法但它无法工作仍然问题是如果你对这个问题有任何想法都无法运行jar文件的主方法类,请给我重播它对我来说是重要的任务

我尝试运行jar文件然后错误是:无法访问jarfile ManichemManagerRotas

5 个答案:

答案 0 :(得分:1)

尝试添加缺少的 .jar

Runtime run=Runtime.getRuntime();            
run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012");

...你必须消耗过程输出......像这样:

InputStream in = run.getInputStream();
InputStream err = run.getErrorStream();

答案 1 :(得分:0)

如果要从另一个类调用java类/函数,请将其设置为jar并将jar添加到项目构建路径中。在另一个类中,您可以创建Jared类的对象并调用该函数。 (确保您的课程和职能是公共访问权限)

答案 2 :(得分:0)

可能忘记输入.jar

run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012"); 

答案 3 :(得分:0)

Runtime.exec(...)方法返回java.lang.Process个实例。 只需调用其getInputStream()方法。

Process p = run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012");
InputStream is = p.getInputStream();

答案 4 :(得分:0)

如果您只想将输出写入某个文件而不进行修改,您只需添加:

> somefile.txt

在'命令'的末尾:

run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012 > somefile.txt");