Java 32位本机代码、JNA和64位JVM

Java 32位本机代码、JNA和64位JVM,java,jvm,64-bit,32-bit,jna,Java,Jvm,64 Bit,32 Bit,Jna,我正在开发一个java应用程序,使用一个32位本机库,我正在通过JNA访问它。在MacOS X Snow Leopard上,可以将参数“-d32”传递给JVM,从而使JVM以32位模式启动。我有一个启动程序应用程序,它设置一些环境变量,然后启动主应用程序。如果程序是在MacOS上执行的,那么在这里决定使用-d32开关启动主应用程序 所以我的问题是:在Windows或Linux上有没有类似的方法来解决这个问题 如果可以在32位模式下运行64位JVM,这将是最好的。但我并不害怕告诉我的用户安装额外的

我正在开发一个java应用程序,使用一个32位本机库,我正在通过JNA访问它。在MacOS X Snow Leopard上,可以将参数“-d32”传递给JVM,从而使JVM以32位模式启动。我有一个启动程序应用程序,它设置一些环境变量,然后启动主应用程序。如果程序是在MacOS上执行的,那么在这里决定使用-d32开关启动主应用程序

所以我的问题是:在Windows或Linux上有没有类似的方法来解决这个问题

如果可以在32位模式下运行64位JVM,这将是最好的。但我并不害怕告诉我的用户安装额外的32位JVM,这不是问题所在。问题是,我必须告诉我的启动器应用程序在哪里可以找到32位JVM,因为PATH变量中的第一个可能是64位JVM

提前感谢,


a无缝

如果将32位JVM与应用程序捆绑在一起,它可以完全独立于任何已安装的JRE和系统路径运行。这是Java SE 6所允许的:。您还可以通过加载JVM.dll来启动JVM,从而在任务管理器中只显示启动器映像。如果使用WinRun4J,甚至可以避免编写本机启动器:


希望有帮助

在linux上,至少可以将-d32(或-d64)传递给JVM启动器,告诉它使用32位(或64位)JVM,就像在OSX上一样。我想windows也会同意,以更大的安装为代价,这就解决了我经验中JVM版本的许多难题。