1

我在从我的 servlet 运行 jar 文件时遇到问题。我必须在 Eclipse 的 web 项目中的一个单独的 sevlet 中运行另一个带有参数的 java 应用程序的 jar 文件。

我使用代码作为

Runtime.getRuntime().exec("java -jar myproject.jar param1 param2 abc.xml");

在上面的代码中,在使用参数 param1 和 param2 运行上面的 jar 文件时,它会将输出存储在 abc.xml 中。但问题是我不知道如何在代码中给出 myproject.jar 的路径。

我将 myproject.jar 复制到项目目录,它没有提供任何输出。我试过使用我不知道如何给出 jar 文件的路径以及将 jar 文件放在哪里以及输出文件将在哪里。

此代码适用于简单的核心 java 应用程序,我将 myproject.jar 文件放在核心 java 项目目录中,并在核心 java 项目目录中创建输出文件 abc.xml。

请指导我。提前致谢。

4

1 回答 1

2

这不是调用类路径中某些 JAR 中包含的 Java 代码的正确方法(我假设您已将它放在/WEB-INF/lib. 只需直接导入并调用该 JAR 文件中包含的代码即可。

import com.packagefromjar.SomeMainClassInJar;

// ...

SomeMainClassInJar.main(new String[] { "param1", "param2", "/path/to/abc.xml" });

或者,如果该 API 设计良好,则直接使用其入口类而不是调用main()方法。

于 2012-10-10T22:17:43.387 回答