Java Eclipse:导出为JAR和导出为可运行JAR之间的区别


87

在eclipse中,导出为JAR文件和导出为Runnable JAR文件有什么区别?他们不是都可以跑吗?每个优点/缺点是什么?

Answers:


98

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

不可运行的jar只是类的库,可以将其添加到类路径中,以便重复使用代码(它也包含清单文件,但那里没有主类)


当我们将文件导出为jar而不是可运行的jar时,我们必须在manifest.mf中指定主类和库类路径。
MR AND AND

20

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

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

有关更多信息,请参见此链接:http : //www.skylit.com/javamethods/faqs/createjar.html


17

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


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.