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

时间:2013-03-01 09:36:38

标签: java netbeans jvm nativelibrary

Hello stackoverflow社区,

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

    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)\Java\jre7\bin\javaw.exe" 
    -vm "C:\Program Files (x86)\Java\jre7\bin\javaw.exe"

我安装了64位JRE和32位JRE,并且我的平台管理器中都提供了64位JDK和32位JDK。

有任何解决此问题的建议吗?我已经读过你可以通过在32位JRE之前安装64位JRE来解决问题;这是其中一个问题吗? (我确实先安装了64位)

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

对于编译,使用哪个library(ggplot2) library(dplyr) mpg_summ <- mpg %>% group_by(class, drv) %>% summarise(freq = n()) %>% ungroup() %>% mutate(total = sum(freq), prop = freq/total) g <- ggplot(mpg_summ, aes(x = class, y = prop, group = drv)) g + geom_col(aes(fill = drv), position = 'fill') + geom_text(aes(label = freq), position = position_fill(vjust = .5)) 无关紧要 - 32位或64位。

javac

对于程序的实际执行, 非常重要,以指定32位版本的>javac MyJavaProgramUsing32BitNativeLib.java

的路径

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

<强>窗

最有可能的是,代码类似于:

Windows

区别在于>"C:\Program Files (x86)\Java\jre#.#.#_###\bin\java.exe" MyJavaProgramUsing32BitNativeLib 之后的数字。要查找应使用的数字,请输入:

jre

在我的机器上,过程如下

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

所以我知道我的号码是C:\Users\me\MyProject>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:\Users\me\MyProject> ,我的命令是

1.8.0_111