Java中JSmooth中捆绑JRE的问题

朋友们,我正在使用JSMOOTH安装程序创建.exe文件和捆绑我的默认JRE路径。

如果用户的系统中没有Java虚拟机,则必须在我的.exe文件中使用Bundled JRE。

但它的重定向到下载页面我尝试了所有骨架选项但未能使用捆绑的JRE ..

有5个骨架1.Win Service 2.Autodownload wrapper 3.Console wrapper 4.Windowed Wrapper 5.Custom web downloader wrapper

我的问题是:

1.从这五个选项中我必须选择这样一个选项:如果用户不是JVM,则使用我的捆绑JRE。

我得到的错误如下“

  1. 如果我使用1.Auto下载包装作为我的骨架我得到 这个在此处输入图像描述

  2. 如果我使用CustomWeb下载器作为我的骨架 这个

3.如果我使用带窗口的包装器作为我的骨架控制台,我会得到 这个

  1. 如果我使用Console包装器作为我的骨架 这个

我想要的是,如果用户系统中没有JVM,它必须使用Bundled JRE而不是要求下载JAVA ..

我参考了这本手册并且这样做但仍然无法实现我的目的地..

我的JSmooth屏幕是 JVMScreen

ExecutableScreen

申请屏幕

我在桌面文件夹Test和我的JRE文件夹里面有我的JAR文件。

我尝试将我的JRE保持在.exe和默认路径附近。但是它始终指的是默认的Java路径的Jre …

我不熟悉JSmooth Java启动器创建者。 但是,基于Launch4J Java启动程序创建程序,您应将目标JRE文件夹(目标JRE的所有文件夹和子文件夹保持不变)作为应用程序启动程序包的一部分。 必须从可以找到JRE文件夹的基础文件夹运行Launch4J。 例如,如果您有一个项目启动程序路径,如“C:\ MYProject \ install”,您编译所有类路径依赖项文件以运行启动器EXE文件与“C:\ MyProject \ install \ jre1.6.0_26”是目标里面有JRE文件夹。 您的JVM包条目应为“jre1.6.0_26”。 Launch4J EXE启动器文件应该能够从“C:\ MYProject \ install”的基础找到相对的“jre1.6.0_26”文件夹

将此转换为EXE启动程序文件在尝试运行时将执行的操作:

C:\C:\MYProject\install |__MyApp.EXE (your resulting output launcher file) |__all classpath dependency jars needed by MyApp.EXE |__jre1.6.0_26 (folder of JVM bundle) 

Launch4J脚本的Ant任务:

    

我遇到了同样的问题。 根据以太网中的其他提示,我认为问题与win32 / win64有关,特别是bundle选项只适用于win32 jre。 我换了win32 jre并且进一步,但是发布仍然失败,因为还没有安装一些必要的.dll。 如果没有设计不需要安装的jre,看起来捆绑选项是不可靠的。

然后,我找到了https://portableapps.com/apps/utilities/java_portable ,我用那个jre成功了。 这是java 1.8.0_181这有点旧,但足以满足我的需求。