如何在Java中检测macOS是ARM64还是x86/x64架构?
Java检测macOS架构以匹配对应ChromeDriver版本
要解决macOS架构检测问题,你可以通过System.getProperty("os.arch")获取架构信息,进而选择对应版本的ChromeDriver压缩包。修改后的代码如下:
String osName = System.getProperty("os.name", "").toLowerCase(); if(osName.contains("darwin") || osName.contains("mac")) { String osArch = System.getProperty("os.arch", "").toLowerCase(); boolean isArm64 = osArch.contains("aarch64") || osArch.contains("arm64"); if (chromeForTesting) { _zipName = isArm64 ? "chromedriver-mac-arm64.zip" : "chromedriver-mac-x64.zip"; } else { _zipName = isArm64 ? "chromedriver_mac_arm64.zip" : "chromedriver_mac64.zip"; } }
说明
- 在M系列Mac(ARM64)上,原生ARM架构的JVM会返回
aarch64作为os.arch的值;若通过Rosetta运行x86架构的JVM,则返回x86_64。 - Chrome For Testing的命名规则为
chromedriver-mac-{arch}.zip,旧版ChromeDriver则使用chromedriver_mac_{arch}.zip的格式(x64版本无额外后缀)。
内容的提问来源于stack exchange,提问作者bramar2
相关产品推荐
相关产品推荐

