【发布时间】:2012-06-09 20:54:37
【问题描述】:
可能重复:
How do I detect which kind of JRE is installed — 32bit vs. 64bit
How can I tell if I'm running in 64-bit JVM or 32-bit JVM?
我有一个签名的 Java 小程序,它利用已安装的第三方 DLL 来在我的 Java 应用程序中使用卡片扫描仪组件。在 64 位机器上,有一些库旨在用于 64 位架构,因为这些库的原始版本只能在 x86 上运行。
问题是它们的命名不同...
库.dll
在 x64 上我应该使用...
library64.dll
我必须调用loadLibrary 在我的小程序中按名称加载适当的库,但是要加载正确的库,我需要预先确定系统架构。我知道我可以捕捉到一个 UnsatisfiedLinkError 但这真的很难看,如果可能的话我想避免这种情况。我也无法推测该库的安装位置。
任何想法如何从 Java 应用程序中解决这个问题?
【问题讨论】:
-
既然您指定了 dll,该解决方案只能在 Windows 操作系统中运行吗?
-
@Dancrumb 重复?如何?它关于操作系统架构,而不是 JVM,大多数人在 x64 系统上也有 32 位 Java。
-
@Asif 因为 32 位 JVM 无法加载 64 位库,所以差别不大。
-
好吧,比我有一个新的捏:) :)