运行jar文件和exe之间的区别?

如果你有一个小程序,你可以运行jar文件,它将正常工作。 但是如果你将jar文件转换为exe文件,你仍然需要java来运行你的exe文件,那么它们之间有什么区别以及为什么有些人将jar转换为exe?

表面上,EXE是一个可执行程序,它启动本地java来执行bundle类。

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

类似地, .jar文件可以与Java相关联,以便Java可以执行它们。 如果jar文件包含捆绑在其中的所有必需类,并且指向启动类的正确清单,则认为该文件是“独立的”。

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

EXE不需要该关联。 它通过它自己的启动器找到了它自己的java。

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

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

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

Exe文件是可在Microsoft OS环境中执行的可执行文件。 Jar文件是Java类文件的容器,包括与项目相关的其他资源。 只有Java运行时环境才能执行Jar文件。 JavaTM Archive(JAR)文件格式使您可以将多个文件捆绑到单个归档文件中。

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

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

exe所做的就是用你的应用程序启动一个jvm,如下所示:“java -jar app.jar”。