如何配置OpenJDK11源码编译环境 解决Boot JDK版本识别错误
报错原因分析
报错的根本原因是系统环境中配置了_JAVA_OPTIONS全局变量,每次调用java、javac命令时,都会先额外输出一行Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true的提示信息。
OpenJDK的configure脚本在检测Boot JDK版本时,会直接解析java -version的输出内容,这行额外的提示信息打乱了脚本的版本识别逻辑,导致脚本无法正确提取已安装的JDK 10的版本号,误判当前JDK不符合10/11的版本要求。
解决方案
- 执行configure前先临时清除该环境变量,命令如下:
也可以直接在单次命令中屏蔽该变量:unset _JAVA_OPTIONS ./configure <你原本的编译参数>_JAVA_OPTIONS="" ./configure <你原本的编译参数> - 如果仍有问题,可以显式指定Boot JDK路径,避免脚本自动探测出错:
unset _JAVA_OPTIONS ./configure --with-boot-jdk=/home/katya/java <你原本的编译参数> - 操作前可以先执行
/home/katya/java/bin/java -version确认输出的版本信息确实为10.x系列,确认Boot JDK本身版本符合要求。
内容的提问来源于stack exchange,提问作者Ekaterina Ivanova iceja.net
相关产品推荐
相关产品推荐

