我正在 OS X 10.10.1 Yosemite 64 位的 eclipse 下使用 blue cove-2.1.0 jar 开发蓝牙 java 应用程序。当我运行该应用程序时,我收到错误消息:
Native Library bluecove not available
通过网络搜索,我发现问题是由 64 位版本的 Java 引起的,但是当我尝试使用传递给 VM 的 -d32 参数运行应用程序时,出现错误:
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.
尽管是 64 位配置,仍然可以运行此应用程序吗?或者除了 bluecove 之外还有其他库可以管理 64 位环境吗?
最佳答案
我在另一个 java 应用程序 (jruby) 上也发生了类似的情况,我可以通过将 JAVA_HOME
重置为支持 32 位模式的 JVM 来工作。本质上,您的 64 位 JVM 试图告诉您,即使您指定了 -d32
选项,它也不会在 32 位模式下运行。
要解决此问题,请尝试运行:/usr/libexec/java_home -d32
在我的 64 位 Yosemite 计算机上,该命令返回 /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Home
,这是 JVM 的路径我的机器将以 32 位模式运行。如果您的计算机上有一个或多个支持 32 位的 JVM,您将获得其中一个 JVM 的路径,然后您可以使用该路径相应地设置 JAVA_HOME
变量,然后您将去比赛吧。
如果您的计算机上没有支持 32 位的 JVM,则需要通过 Oracle 网站或自制软件安装一个,然后相应地设置您的 JAVA_HOME
。
如果您想跳过一两步,只需执行以下操作 -- export JAVA_HOME=`/usr/libexec/java_home -d32`
-- 这将自动设置您的 JAVA_HOME
到第一个检测到的能够在 32 位模式下运行的 JVM 实例。
关于Java蓝牙bluecove应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27092058/