java - 在windows app目录下本地安装jre

标签 java windows jar

我有一个关于使用 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/

相关文章:

java - 更改 Android Studio 中的默认 LAUNCHER Activity

java web 应用程序与 OC4J 服务器上的 Activity 目录集成

windows - IIS 使用 powershell 禁用 ocsp 装订

java - 创建 JAR 文件并执行它时出错

maven - 使用 Maven 解包依赖项并重新打包类?

java - 我应该实现 List 接口(interface)还是扩展 ArrayList 类

java - 集群中的 websphere - 如何知道请求由哪个节点提供服务?

java - 操作数类型错误

c++ - 使用 Win32 监视打开的程序

java - 为什么 java 在使用 -jar 开关执行 jar 文件时不遵循类路径?