Java Eclipse:作为JAR导出和作为Runnable JAR导出之间的区别

时间:2011-02-11 22:25:29

标签: java eclipse jar

在导出为JAR文件和导出为Runnable JAR文件之间,eclipse有什么区别?他们都不是可以运行的吗?每个人的利弊是什么?

4 个答案:

答案 0 :(得分:94)

runnable jar包含一个MANIFEST.MF文件,该文件定义了jar运行时要执行的Main类。

不可运行的jar只是类的库,可以添加到类路径中以便重用代码(它还包含清单文件,但不包含主类)

答案 1 :(得分:20)

runnable jar是一个jar文件,它有一个包含“Main-Class:”声明的嵌入式Manifest文件。必须定义“Main-Class”,以便java运行时知道jar“运行”时要调用的类。如果jar不包含带有“Main-Class:”的清单,则它不被视为“可运行的jar” - 它只是一个Java代码库。

我猜这是Eclipse导出jar的方式不同,但不是100%肯定。

有关详细信息,请参阅此链接:http://www.skylit.com/javamethods/faqs/createjar.html

答案 2 :(得分:14)

使用标准JAR文件时,必须在运行jar时在命令行上使用main方法指定类。使用可运行的JAR,有一个清单文件可以保存该信息,因此您只需键入java -jar myRunnable.jar,或者只需双击它即可。

答案 3 :(得分:0)

就我而言,当我在manifest.mf中指定了所有主类和所有库路径目录时,我通常会将其导出为jar。如果许多应用程序使用相同的库,则不必为每个jar导出共享库。它使jar的运行速度更快。但是,由于不同服务器类路径中的配置问题,很多时候无法访问库,在这种情况下,导出可运行的jar很有意义,这会使文件执行缓慢且变大。