【问题标题】:Java Eclipse: Difference between exporting as a JAR and exporting as a Runnable JARJava Eclipse:导出为 JAR 和导出为 Runnable JAR 之间的区别
【发布时间】:2011-06-25 20:55:42
【问题描述】:

eclipse中导出为JAR文件和导出为Runnable JAR文件有什么区别?他们不是都可以运行的吗?各有什么优缺点?

【问题讨论】:

    标签: java eclipse jar


    【解决方案1】:

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

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

    【讨论】:

    • 当我们将文件导出为 jar 而不是可运行的 jar 时,我们必须在 manifest.mf 中指定主类和库类路径。
    【解决方案2】:

    可运行的 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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-15
          • 2013-01-01
          • 2018-01-25
          • 2014-10-27
          • 2012-09-15
          • 1970-01-01
          相关资源
          最近更新 更多