在windows应用程序目录中本地安装jre



我有一个关于使用java模块部署windows应用程序的问题。

我有几个模块的windows应用程序。其中一个模块是用java编写的,打包为jar归档。如果需要使用这个模块,应用程序会要求jre开始执行这个jar。在应用程序安装过程中的这段时间,它已初始化jre安装。

我想了解以下内容。是否可以在应用程序安装期间安装,在应用程序目录中静默安装jre。所以it jre副本可以被应用程序使用。

我说的是这样的结构:

/app
/app/jre
/app/modules/myModule.jar

所以,如果需要运行myModule.jar,我可以从app/jre/bin使用java来完成它?

我在Spark messenger上看到过类似的东西(http://www.igniterealtime.org/projects/spark/)。该应用程序使用自己的jre,安装在/Spark/jre/中。但据我所知,这个应用程序是用java编写的,并使用install4j构建为windows分布式应用程序。

我试图找到问题的答案,但也许我做错了什么,我总是找到一个为jar文件创建exe包装器的解决方案。

我想知道通过在应用程序文件夹中本地安装jre来部署应用程序的可能性。

您过去最好使用Java Web Start。目前,您可以使用javapackager。https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javapackager.html

javapackager命令允许开发人员创建不需要单独JRE安装的独立本机安装包。本机选项包括:installer、image、exe、msi、dmg、rpm和deb。

这是桌面应用程序的理想选择,在桌面应用程序中,用户可能没有安装自己的JRE,只希望程序运行。它可能不适用于管理员希望完全控制环境的基于服务器的应用程序。

https://blogs.oracle.com/java-platform-group/entry/java_web_start_in_or

在/app/jre/bin文件夹中应该有一个名为java的可执行二进制文件。因此,在您的文件夹/应用程序/模块中,您可以运行

/app/jre/bin/java -jar myModule.jar

这应该行得通。

最新更新