我有一个关于使用 java 模块部署 Windows 应用程序的问题。
我有几个模块的 Windows 应用程序。这些模块之一是用 java 编写的,并打包为 jar-archive。如果需要使用这个模块,应用程序会要求 jre 开始执行这个 jar。 此时在应用程序安装过程中,它会初始化 jre 安装。
我想了解以下内容。 是否可以在应用程序安装期间在应用程序目录中静默安装jre。因此它的 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 的独立 native 安装包。 native 选项包括:installer、image、exe、msi、dmg、rpm 和 deb。
这是桌面应用程序的理想选择,用户可能没有安装自己的 JRE,只是想让程序运行。它可能不适合管理员希望完全控制环境的基于服务器的应用程序。
https://blogs.oracle.com/java-platform-group/entry/java_web_start_in_or
关于java - 在windows app目录下本地安装jre,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36429997/