我有一些第三方本地库,只能在32位的JVM下在Windows、OSX和Linux上运行。因此,我需要始终强制Java应用程序以32位JVM模式运行。
如果目标系统仅安装了64位JVM,那么是否可以强制其以32位模式运行Java应用程序?
我有一些第三方本地库,只能在32位的JVM下在Windows、OSX和Linux上运行。因此,我需要始终强制Java应用程序以32位JVM模式运行。
如果目标系统仅安装了64位JVM,那么是否可以强制其以32位模式运行Java应用程序?
不行。
你所指定的前提条件禁止(好吧,我排除了捆绑JVM解决方案和安装JVM解决方案)应用程序在32位JRE上运行。如果您想在32位JVM中运行应用程序,并且您的第三方本地库仅可用作32位DLL,则必须使用32位JVM。64位JVM无法加载32位库;没有32位模式来加载这样的库。
解决方案包括:
在 Java 6 中不支持,在 Java 7 及以上版本中才支持。
在 Java 7 中,请使用 -d32 参数。
java -d32
错误:此Java实例不支持32位JVM。 请安装所需版本。
- Tim Bartschjava
命令没有这样的参数,答案显然是“不行”。-d32
和-d64
都在这里有记录:http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html。 - rozky