我编写了一个需要连接到外部 32 位库的 java 应用程序。
在我的 iMac (Intel) 上,我需要使用 -d32 选项启动 jar 文件。
在我的 Powerbook G4 上,它必须在没有 -d32 选项的情况下启动。
我想创建一个在两台 Mac 上运行的 jar 文件包。所以有一些条件需要测试来决定使用或不使用 -d32 选项
我怎样才能做到这一点?
我终于找到了我的问题的答案:首先,通过双击打开应用程序时,不考虑“-d32”选项。因此在运行 jvm 之前不再需要测试架构。
其实很简单:在 Intel Mac 上,一旦创建了应用程序,打开应用程序的属性,选择“以 32 位模式打开”。就这样 !!!
查看System.getProperties()。具体来说os.arch
。您可以在此处获取支持的密钥列表。
String arch = System.getProperty("os.arch");
System.out.println(arch);
在我的系统上,这将输出“amd64”。一旦你知道了拱门,你就可以拆分你的逻辑。如果您使用 Java 7,那么我将打开字符串:
String arch = System.getProperty("os.arch");
System.out.println(arch);
switch(arch){
case "amd64":
//do logic
break;
default:
//do default logic
break;
}