【问题标题】:Difference between running jar file and exe?运行jar文件和exe的区别?
【发布时间】:2015-01-04 19:52:33
【问题描述】:

如果你有一个小程序,你可以运行 jar 文件,它会正常工作。但是如果你把jar文件转成exe,还是需要java来运行你的exe文件,那它们有什么区别呢,为什么有些人把jar转成exe呢?

【问题讨论】:

  • 解释将 jar 转换为 exe。您问的是哪种确切的方法?
  • 没什么,exe提供了一种许多用户通用的方法,并且更容易集成到操作系统中(提供图标,创建快捷方式等),但本质上exe只是一个包装器用 JVM 启动 jar

标签: java executable-jar


【解决方案1】:

从表面上看,EXE 是一个可执行程序,它启动本地 java 以执行捆绑类。

您可能知道,在您的计算机上,您可以将某些文件扩展名与本地程序相关联。例如,.doc 使用您的文字处理器的文件。

同样,.jar 文件可以与 Java 关联,以便 Java 可以执行它们。如果 jar 文件中捆绑了所有必要的类以及指向启动类的适当清单,则该 jar 文件被视为“独立”。

因此,通过将.jar 与 Java 相关联,在您的环境中单击它会使用给定的 jar 文件启动 Java。

EXE 不需要该关联。它使用自己的启动器自行查找 java。

下一步是您实际上可以将 JRE 捆绑到一个 EXE 中,因此您甚至不需要让用户安装 Java 作为先决条件。但这是一个不同的过程。

【讨论】:

    【解决方案2】:

    人们通常使用 Java 可执行包装器有两个原因 - 1. 为没有 JVM 的环境简单部署,以及 2. 确保用于开发应用程序的确切 Java 运行时用于运行 JAR。但是,这种做法并没有那么普遍。

    【讨论】:

      【解决方案3】:

      Java 存档或 jar 是已编译的 Java 字节码和资源的存档,可以在 Java 虚拟机上运行。 “.exe”是直接可执行代码的 Windows 扩展,主要由安装程序或不需要安装的程序使用。我认为您的“人”在谈论安装程序。

      【讨论】:

        【解决方案4】:

        Exe 文件是可以在 Microsoft 操作系统环境中执行的可执行文件。 Jar 文件是 Java Class 文件的容器,包括与项目相关的其他资源。 jar 文件只有在 Java 运行时环境下才能执行。 JavaTM 存档 (JAR) 文件格式使您能够将多个文件捆绑到一个存档文件中。

        java文件编译的.class文件,不能直接启动。这就是为什么它需要转换为exe才能在windows环境中运行。通常通过批处理文件启动java程序的方法不是一种方便的方法。所以为了避免这个困难,我们需要将jar文件转换成exe文件。

        还将其转换为 exe。使程序只需双击程序即可运行,而不必使用 IDE 或通过 JVM 进行编译。

        【讨论】:

          【解决方案5】:

          该 exe 会做的就是用你的应用启动一个 jvm,像这样:“java -jar app.jar”。

          【讨论】:

            猜你喜欢
            • 2012-09-13
            • 2013-04-30
            • 2017-05-14
            • 2020-09-30
            • 2010-10-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-05-23
            相关资源
            最近更新 更多