2

我有一个可运行的 java jar 文件,我需要以某种方式从我正在处理的另一个 java 类中运行(传递参数、获取输出)。我怎么做?我是否以某种方式将其作为包导入,在运行时调用它?我可以从中调用“main”方法还是只用“exec”运行它?感谢您的回答。

4

3 回答 3

2

只需将它添加到您的CLASSPATH并调用main()它提供的方法或任何其他公共方法(并且记录在案)。除了清单中的条目外,“普通”和“可运行” jar 文件之间没有区别。

您可能需要考虑的一个微妙细节是,可运行的 jar 文件通常是自包含的——也就是说,它们包含所有必需的类,包括来自第三方库的类。如果您在项目中使用相同的第三方库,请确保没有冲突,例如通过从项目中删除单独的第三方 jar 文件。

有关更多信息,请参阅课程:在 JAR 文件中打包程序。

于 2013-07-04T11:28:11.437 回答
0

如果您需要某些您无法通过命令行exec解决方案实现的内容,请将其导入您的代码中。请注意,如果您尝试使用 jar 文件本身的某些方法,并且作者稍后更改它,您可能会遇到问题。

考虑模式,在 jar 文件和您的代码之间放置一些抽象层,如果您不确定,您使用公共 API。

如果 jar 文件是具有稳定 API 的库,您可以更加自信地在项目中使用它。

此外,导入 jar 文件并从中使用方法比解析进程输出要快。

于 2013-07-04T11:31:08.540 回答
0

您可以将其导入您的项目,然后从您的应用程序中调用该 jar 中公开公开的方法。

于 2013-07-04T11:44:19.257 回答