0

可能重复:
在 java 程序中执行另一个 jar

我尝试从另一个 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

4

5 回答 5

1

尝试添加缺少的.jar

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

...并且您必须消耗流程输出...像这样:

InputStream in = run.getInputStream();
InputStream err = run.getErrorStream();
于 2012-09-05T10:01:26.010 回答
0

这些Runtime.exec(...)方法返回一个java.lang.Process实例。只需调用它的getInputStream()方法。

Process p = run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012");
InputStream is = p.getInputStream();
于 2012-09-05T10:03:29.080 回答
0

如果您想从另一个类调用 java 类/函数,请将其作为 jar 并将 jar 添加到您的项目构建路径中。在另一个类中,您创建 Jared 类的对象并调用该函数。(确保你的类和函数是公共访问的)

于 2012-09-05T09:59:25.853 回答
0

可能是你忘记输入 .jar

run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012"); 
于 2012-09-05T09:59:50.173 回答
0

如果您只想将输出写入某个文件而不修改它,您可以添加:

> somefile.txt

在“命令”的末尾:

run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012 > somefile.txt");
于 2012-09-05T10:13:39.503 回答