我应该如何将Java与Windows应用程序捆绑在一起?

akn*_*ds1 11 java windows installation

我有一个基于Java的Windows应用程序,我想用Java捆绑安装.安装框架是NSIS.应该保证应用程序可执行文件调用捆绑的Java,因此不会与系统中安装的其他Java发生冲突.

实现目标的最佳方法是什么?我之前没有尝试解决这类问题,并且对Java几乎没有经验,所以我不知道那里有哪些解决方案.如果可行的话,我想我更喜欢将Java嵌入到应用程序的可执行文件中,否则我猜Java可以与它一起安装(可执行文件指向Java).

编辑: 此项目已通过NSIS生成可执行文件(.exe).可执行文件默认使用系统Java,但显然它更喜欢同一目录中的JRE(即捆绑)(如果存在).

编辑2:让我想用这个应用程序捆绑Java的场景是我收到了一个用32位Java构建的可执行文件,它在我的64位Java系统上失败了(静默).

leo*_*loy 0

您确定不想使用计算机 JRE 吗?在大多数情况下这是更好的选择。您可以在此处(以及包含的链接)查看一些安装程序示例,这些安装程序检查 JRE 编号并在必要时(全局)安装它。

如果您确实希望在安装程序中包含您自己的 JRE 并始终使用它 - 是什么阻止您这样做?这只是您的主程序点有某种方式了解 JRE 位置并强制使用它的问题。这取决于您如何打包/调用 Java 程序。通常,这是可行的,也许使用一个简单的 .bat 文件 - 也许在安装时创建。