在eclipse中,将项目导出成JAR文件和将其导出成可运行的JAR文件有何区别?它们都可以运行,对于每种方式的优缺点是什么?
可运行的jar包包含一个MANIFEST.MF文件,该文件定义了在运行jar包时要执行的主类。
非可运行的jar包仅是包含类库的jar包,可以将其添加到类路径中以便重用代码(它也包含清单文件,但没有主类)。
使用标准的JAR文件时,运行JAR文件需要在命令行上指定具有主方法的类。使用可运行的JAR文件时,会有一个包含该信息的清单文件,因此您只需键入 java -jar myRunnable.jar
或直接双击即可。
可运行的jar文件是一个包含嵌入式清单文件的jar文件,其中包含“Main-Class:”声明。必须定义“Main-Class”以便Java运行时知道在运行jar文件时调用哪个类。如果jar文件不包括带有“Main-Class:” 的清单,则它不被视为“可运行的jar”- 它只是Java代码库。
我猜这可能与Eclipse如何导出jar文件有关,但不能确定。
请参阅此链接以获取更多信息:http://www.skylit.com/javamethods/faqs/createjar.html