Install4j:Unix 安装程序导致 bin/unpack200:未找到

Install4j: Unix Installer causes bin/unpack200: not found

我们使用一个由 install4j 创建的设置(我们仍然使用 5.0.11)。在新的本地 unix 机器上(Linux 版本 3.8.13-44.1.4.el6uek。x86_64)此设置失败,日志显示:

Unpacking JRE ...
micsetup.sh: 210: micsetup.sh: bin/unpack200: not found
Preparing JRE ...
Error unpacking jar files. The architecture or bitness (32/64) of the bundled JVM might not match your machine.

搜索这个错误我发现了这个:

the program tries to run the file /bin/unpack200 which does not exist. However, the file /usr/bin/unpack200 does exist. This is due to the fact that this file is in different places depending on the architecture of the machine used - if it is 32bits, it is in one place, if it is 64bits, it is in the other. I am having this problem because the file was made to run on a 32bit architecture but I am using a 64bits machine. Therefore to fix this problem one must install 32bits libraries.

运行

之后
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

我们的设置有效。

我的问题:有没有一种方法可以在 install4j 中配置 "Unix installer" 来构建设置,它可以像上面提到的那样在 64 位 Linux 系统上工作,而无需在此系统上安装额外的库?我认为并非我们所有的客户都会允许这样做。

提前致谢!

弗兰克

不,install4j 中没有这样的功能。在 Linux 上捆绑 JRE 通常是有问题的。

一种策略是为安装程序提供 32 位 JRE 和为安装程序提供 64 位 JRE。