我想创建一个用Java编写的小游戏的可执行jar文件,并使其可以在任何机器上通过简单的双击(如exe文件)播放。我的问题是,您是否需要先安装Java运行时才能使可执行jar文件起作用,或者它也可以在没有安装任何Java的机器上工作?
不,它不能。但是,客户端不需要JDK,而JRE则需要。您可以使jar声明自己的主类,并让用户像exe文件一样双击它,或者在Windows中创建一个bat文件。
它需要在主机上安装JRE实例。这是因为JAR文件实际上是通过命令行执行的,例如(在Windows中):
java -jar ...
这意味着java.exe可执行文件应该可以访问,可以通过将其文件夹包含在PATH(Windows)中或用其完整路径替换java
来实现。
而且,由于包含您要运行的应用程序的JAR文件不应包含所有Java API库,因此您很可能需要将所有运行时Java库托管在系统上。它们也是JRE软件包的一部分。
为了示例,我的解释与Windows相关,但可以扩展到任何OS。
您是否需要先安装Java运行时才能使可执行jar文件起作用?
是的,当然。要首先运行Java .jar文件,您需要安装至少 JRE(运行时环境)。 JDK(开发套件)是JRE的超集,也可用于运行.jar文件。
它也可以在没有安装任何Java的机器上工作吗?
不,如上所述,必须至少安装JRE。
除非必须在计算机上提供Java运行时环境(JRE),否则,[[除非使用执行提前编译(AOT,这与通常的即时调整相反)的工具。可以使用此类工具(例如Excelsior JET),但是它们也有很多缺点,包括成本以及预编译的Java应用程序是常规可执行文件并且只能在一个操作系统上运行的事实。我已经看到一些安装程序,这些安装程序将检测是否安装了JRE并为用户启动Java安装程序。