<分区>
Possible Duplicate:
Java : switching between dll depends on system architecture (32/64)
在我的 Java 应用程序中,我需要一个可用于 32 位和 64 位的 JNI 库。我不想发布我的应用程序的两个不同版本,所以我想发布带有两个库的应用程序,并且应用程序必须自行确定加载哪个库(foobar32.so 或 foobar64.so)。我该怎么做?
我考虑过尝试加载第一个,如果这引发异常,那么我会加载第二个,但这听起来很难看。
是否有一些系统属性我可以检查而不是确定是否使用 32 位 Java 或 64 位 Java 来运行我的应用程序?我知道有一些 os.arch
属性,但根据 this answer 返回值似乎是不可预测的.
那么让应用程序决定加载 32 位还是 64 位 JNI 库的最佳方式是什么?