运行jar文件需要安装Java吗?

3

我想创建一个可执行的jar文件,其中包含我用Java编写的小游戏,并使其在任何机器上都可以通过简单的双击像exe文件一样进行游戏。我的问题是,您是否需要先安装Java运行时才能使可执行的jar文件正常工作,还是它也可以在未安装任何Java的计算机上运行?


你需要一个JRE,它是Java JDK的精简版。但我相信有一种方法可以将JAR和JRE合并成一个单独的文件,即EXE文件(尽管我从未尝试过)。 - Hot Licks
需要在环境变量中指定jre的路径才能通过双击打开吗? - user3059427
如果Windows已经被告知JRE是JAR文件类型的默认操作,则只需双击JAR即可开始运行。但是,JAR必须设置一个清单,告诉JRE从哪里开始。 - Hot Licks
6个回答

6

不行。然而,客户端不需要JDK,只需要JRE即可。
你可以让你的jar文件声明自己的主类,并让用户像双击exe文件一样正常使用它,或在Windows中创建一个批处理文件。


3

需要在主机上安装JRE实例。这是因为JAR文件实际上是通过命令行执行的,如(在Windows中):

java -jar ...

这意味着在您的系统上,java.exe可执行文件应该是可达的,可以通过将其文件夹包含在PATH中(Windows)或用完整路径替换“java”来实现。此外,最可能需要在系统上托管所有运行时Java库,因为包含要运行的应用程序的JAR文件不应包含所有Java API库。它们也是JRE软件包的一部分。我的解释仅限于Windows的示例,但可扩展到任何操作系统。

1

当然需要JRE,但不强制要求安装JDK。由于.jar文件的主类在JRE中定义,因此有必要在计算机上安装JRE。我在Windows操作系统上尝试过。


1

在执行可执行的jar文件之前,是否需要先安装Java运行时环境?

是的,当然需要。要运行Java .jar文件,首先必须至少安装JRE(运行时环境)。 JDK(开发工具包)是JRE的超集,也可以用于运行.jar文件。

它也可以在没有安装Java的计算机上运行吗?

不行,如上所述,至少必须安装JRE。


我相信你的意思是JDK是_JRE_的超集。 - jmoerdyk

1

除非您使用执行预编译(AOT)的工具(与通常的即时编译相对),否则必须在计算机上安装Java运行时环境(JRE)。此类工具可用(例如Excelsior JET),但它们有许多缺点,包括成本和预编译Java应用程序是常规可执行文件,仅在一个操作系统上运行。我见过一些安装程序会检测是否已安装JRE,并在未安装时为用户启动Java安装程序。


0

实际上,您可以使用几个Java .exe包装器将JRE捆绑在您的exe文件中。以下是其中的一些:JSmooth、Launch4j、Jar2Exe。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接