CentOS7中Java版本与JAVA_HOME不符及OpenJDK1.6.0_15安装咨询
关于CentOS7通过yum安装OpenJDK 1.6.0_15的问题
核心结论
CentOS7的官方yum源不提供OpenJDK 1.6的安装包——OpenJDK 6在CentOS7发布前就已停止官方维护,官方源仅支持OpenJDK 7及以上版本(如OpenJDK 8、11等),因此无法通过官方yum直接安装指定版本的OpenJDK 1.6.0_15。
为什么修改/etc/profile后未生效
你修改/etc/profile配置JAVA_HOME并前置PATH的方式没生效,原因在于:
- 系统默认通过
alternatives工具管理java命令的软链接,/usr/bin/java是指向alternatives管理路径的软链接,其优先级高于你在PATH中配置的自定义路径 - 若当前shell未重新加载
/etc/profile(未执行source /etc/profile或重新登录),新的PATH配置不会即时生效
关于你使用alternatives的方式
你通过alternatives --install手动注册JDK 1.6的方式是合理的,仅可优化优先级设置:
默认OpenJDK 8的alternatives优先级通常为180,你可以把JDK 1.6的优先级设为更高数值(比如200),这样alternatives --config java时会默认选中它:
alternatives --install /usr/bin/java java /opt/jdk1.6.0_15/bin/java 200 alternatives --install /usr/bin/javac javac /opt/jdk1.6.0_15/bin/javac 200
另外,若需要使用JDK的其他工具(如jar、javadoc、javap等),建议也一并注册到alternatives:
alternatives --install /usr/bin/jar jar /opt/jdk1.6.0_15/bin/jar 200 alternatives --install /usr/bin/javadoc javadoc /opt/jdk1.6.0_15/bin/javadoc 200
非官方替代方案(不推荐)
如果一定要通过包管理工具安装,可能需要寻找第三方yum源,但这类源通常缺乏维护,存在安全风险,不建议在生产环境使用。更可靠的方式还是手动下载Oracle JDK或OpenJDK 6的压缩包,解压后通过alternatives配置环境。
内容的提问来源于stack exchange,提问作者user2178964
相关产品推荐
相关产品推荐

