M1处理器Mac安装Weblogic12报Can't get PlatformInfoHolder错误
M1芯片Mac安装WebLogic 12报
Can't get PlatformInfoHolder错误解决方案 报错根因
触发这个错误的核心原因有两点:
- WebLogic 12全系列原生没有适配Apple Silicon(M系列ARM架构)芯片,安装器自带的平台检测逻辑无法识别M1芯片的平台标识
- 如果你安装的是ARM架构版本的JDK 11,会进一步加剧平台检测逻辑的失败概率,同时WebLogic 12的多数小版本本身也没有对ARM版JDK做认证兼容
修复步骤
- 首先安装x86_64架构的兼容JDK。优先选x86版本的JDK 8(适配所有WebLogic 12小版本),如果是12.2.1.4及以上版本可以选x86架构的JDK 11。安装完成后执行
/usr/libexec/java_home -V查看本机所有已安装JDK的列表,确认对应版本的架构为x86_64,再将JAVA_HOME指向该x86版本JDK的路径,替换掉原来的ARM版JDK路径。 - 给终端开启Rosetta 2转译。找到你日常使用的终端程序(系统自带Terminal、iTerm2等),右键选择「显示简介」,勾选使用Rosetta打开选项,之后完全退出终端再重新打开,执行
java -version确认当前加载的是x86版本JDK。 - 带跳过平台检测参数启动安装程序。不要直接双击安装包,在终端中执行对应安装命令:
如果是jar格式通用安装包,执行:
如果是bin格式安装包,先给执行权限再启动:java -jar [你的安装包文件名].jar -DORACLE_INSTALLER_SKIP_PLATFORM_CHECKS=truechmod +x [你的安装包文件名].bin ./[你的安装包文件名].bin -DORACLE_INSTALLER_SKIP_PLATFORM_CHECKS=true - 如果执行上述操作后依旧报平台识别错误,就在启动命令末尾追加两个参数,强制指定平台标识:
-Dos.name="Mac OS X" -Dos.arch=x86_64
注意事项
以上方案仅适用于本地开发测试场景,通过Rosetta转译运行的WebLogic可能存在未知的兼容性、性能损耗问题,生产环境部署请使用官方认证的x86架构Linux/Windows服务器。
内容的提问来源于stack exchange,提问作者Alan Hernandez
相关产品推荐
相关产品推荐

