如何在另一个类中使用runnable jar?

时间:2013-07-04 11:22:36

标签: java

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

3 个答案:

答案 0 :(得分:2)

只需将其添加到CLASSPATH并调用main()方法或其提供的任何其他公共方法(以及记录的方法)。除了清单中的条目之外,“normal”和“runnable”jar文件之间没有区别。

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

有关详细信息,请参阅Lesson: Packaging Programs in JAR Files

答案 1 :(得分:0)

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

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

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

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

答案 2 :(得分:0)

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