本机库,错误:此Java实例不支持32位JVM



你好stackoverflow社区,

我正在使用NetBeans IDE 7.2.1,我正在尝试编译+运行一个项目与本地库。我的库需要32位JVM。我用的是64位的Windows 7。当尝试编译和运行我的项目时,我遇到了以下内容:

    Error: This Java instance does not support a 32-bit JVM.
    Please install the desired version.
    Java Result: 1
    BUILD SUCCESSFUL (total time: 0 seconds)

我试着去配置,包括以下参数(无济于事):

    -d32
    -d32 -vm "C:Program Files (x86)Javajre7binjavaw.exe" 
    -vm "C:Program Files (x86)Javajre7binjavaw.exe"

我安装了64位JRE和32位JRE,并且在我的平台管理器中可以使用64位JDK和32位JDK。

有什么建议来解决这个问题吗?我读到过在32位JRE之前安装64位JRE可能会出现问题;这是其中一个问题吗?(我确实先安装了64位)

当您启动一个进程时(例如在命令提示符上,但是当您从代码启动另一个进程时也是如此),将搜索一组路径(包含在PATH(?)环境变量中),以查找名称与您输入的名称匹配的可执行文件。如果64位和32位版本具有相同的名称,并且先找到64位版本,则将执行该版本。我建议指定32位JDK的完整路径。

编辑:


我刚刚看到这个问题是关于NetBeans IDE的。我从来没有使用过,所以我能给您的唯一建议是查看NetBeans的设置,并调整JDK和JRE的路径,使其指向32位版本。我将把我的答案留给不使用NetBeans的人。

感谢@11684的精彩回答。我只是想为那些从命令行/命令提示符编译的人添加一个代码示例。

对于编译来说,使用哪个javac是无关紧要的——32位还是64位。

>javac MyJavaProgramUsing32BitNativeLib.java

对于程序的实际执行,指定32位版本的java.exe

的路径非常重要。

我将发布Windows的代码示例,因为这似乎是操作系统使用的操作系统。

最有可能的是,代码是这样的:
>"C:Program Files (x86)Javajre#.#.#_###binjava.exe" MyJavaProgramUsing32BitNativeLib 

区别在于jre之后的数字。要找到应该使用的数字,输入:

>dir "C:Program Files (x86)Java"

在我的机器上,过程如下

C:UsersmeMyProject>dir "C:Program Files (x86)Java"
 Volume in drive C is Windows
 Volume Serial Number is 0000-9999
 Directory of C:Program Files (x86)Java
11/03/2016  09:07 PM    <DIR>          .
11/03/2016  09:07 PM    <DIR>          ..
11/03/2016  09:07 PM    <DIR>          jre1.8.0_111
               0 File(s)              0 bytes
               3 Dir(s)  107,641,901,056 bytes free
C:UsersmeMyProject>

所以我知道我的数字是1.8.0_111,我的命令是

C:UsersmeMyProject>"C:Program Files (x86)Javajre1.8.0_111binjava.exe" MyJavaProgramUsing32BitNativeLib

相关内容

  • 没有找到相关文章

最新更新