是否可以通过参数“ -d32”强制64位JVM使用32位模式?


问题内容

所以我有一些第三方的本机库只能在Windows,OSX,Linux的32位JVM中工作,我需要始终强制Java应用程序以32位JVM模式运行。

如果目标系统仅安装了64位JVM,该如何强制其以32位模式运行Java应用程序呢?


问题答案:

没有。

您指定的前提条件禁止该应用程序在32位JRE中运行(好的,我排除了bundle-the-JVM解决方案和install-the-
JVM解决方案)。如果要在32位JVM中运行应用程序,并且第三方本机库仅作为32位DLL可用,则必须使用32位JVM。64位JVM无法加载32位库。没有32位模式可加载此类库。

解决方案包括:

  • 要求安装32位JVM
  • 捆绑32位JVM(三个操作系统-这将是一个很大的负担)
  • 为用户安装32位JVM
  • 使用其他第三方库/自己滚动/查找第三方库的64位版本