2013-11-25 30 views
2

我想知道可执行jar文件(作为库添加)如何与主程序一起使用。可执行jar文件如何与另一个程序一起工作

例如,当添加一个可执行的jar文件时,如果它没有在主程序的源代码中调用,它是否有任何作用?

可执行jar文件是否与运行时库相同?

回答

3

“可执行jar文件”只是一个类,该类定义了一个main方法,并且jar文件在其中维护有关在哪里可以找到此主方法的元数据。

如果这个jar不是用来启动JVM的jar,那么这个元数据将被忽略,并且jar被视为与其他jar文件一样(除非被别的东西显式使用,否则不会生效)。

+0

“如果这个jar不是用来启动JVM的jar”这个部分是什么意思? – DesirePRG

+0

http://javabeanz.wordpress.com/2009/01/29/running-an-executable-jar-from-command-line/ ----'$ java -jar myJar.jar [可选参数]' –

1

答案是否定的,它只是标准的JAR文件,它包含一个Main方法的init类。这个主要方法的位置信息存储在元数据中。 如果你运行这个jar文件,那么这个类&因此被调用。

否则它只是普通的JAR文件。您可以将它添加到任何应用程序的类路径&它与其他常规JAR文件具有相同的效果。主方法仍然存在,但不会被执行。

相关问题