2013-07-04 17 views
2

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

回答

2

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

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

有关更多信息,请参阅Lesson: Packaging Programs in JAR Files

+0

因此,我应该将它作为Java Build Path中的库添加,然后导入它? – Caballero

+0

是的 - 在Eclipse中,将其添加到构建路径中,就像处理其他jar文件一样,然后在代码中导入必要的软件包。 –

0

将您的代码导入到您的代码中,如果您需要的东西,您不能从命令行exec解决方案实现。请注意,如果您尝试从jar文件本身使用某些方法,并且稍后更改,则可能会出现问题。

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

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

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

+0

我有一个jar文件的来源,它不会被更改。所以要清楚:我使用“import com.something.something;”导入jar,然后我以某种方式调用它的主要方法? – Caballero

+0

@Caballero是的。 'main',或者,如果你想要的话,另一种更具体的方法。 – Seagull

0

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

相关问题