当前位置: 首页 > news >正文

0x-2-Oracle Linux 9上安装JDK配置环境变量

一、JDK选择和使用

安装完Oracle Linux9.6,同时使用rpm包安装Oracle 23 ai free后,

将面临sqlcl程序无法使用和java无法使用,需要相应进行变量配置问题。

1、java 环境运行不存在,Oracle 23ai free安装后默认安装JDK 11

/opt/oracle/product/23ai/dbhomeFree/jdk/bin/java

[oracle@OL96TC bin]$ java -version
bash: java: command not found...
Packages providing this file are:
'java-11-openjdk-headless'
'java-17-openjdk-headless'
[oracle@OL96TC bin]$ exit
logout
[root@OL96TC ~]# java -version
bash: java: command not found...
Packages providing this file are:
'java-11-openjdk-headless'
'java-17-openjdk-headless'
[root@OL96TC ~]# java --version
bash: java: command not found...
Packages providing this file are:
'java-11-openjdk-headless'
'java-17-openjdk-headless'
[root@OL96TC ~]# which java
/usr/bin/which: no java in (/root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
[root@OL96TC ~]# find / -name java
find: ‘/proc/82056’: No such file or directory
/etc/pki/ca-trust/extracted/java
/etc/pki/java
/usr/share/bash-completion/completions/java
/opt/oracle/product/23ai/dbhomeFree/jdk/bin/java
/opt/oracle/product/23ai/dbhomeFree/xdk/doc/java
[root@OL96TC ~]# cd /opt/oracle/product/23ai/dbhomeFree/jdk/bin/java
-bash: cd: /opt/oracle/product/23ai/dbhomeFree/jdk/bin/java: Not a directory
[root@OL96TC ~]# ./opt/oracle/product/23ai/dbhomeFree/jdk/bin/java -version
-bash: ./opt/oracle/product/23ai/dbhomeFree/jdk/bin/java: No such file or directory
[root@OL96TC ~]# cd /opt/oracle/product/23ai/dbhomeFree/jdk/bin/

2、随着Oracle 23 ai free默认安装的sqlcl不生效,无法使用 

[oracle@OL96TC bin]$ pwd
/opt/oracle/product/23ai/dbhomeFree/sqlcl/bin
[oracle@OL96TC bin]$ cd ..
[oracle@OL96TC sqlcl]$ ll
total 8
drwxr-xr-x. 2 oracle oinstall   17 Jun  3 19:57 bin
drwxr-x---. 3 oracle oinstall 4096 Jun  3 19:57 lib
[oracle@OL96TC sqlcl]$ cd bin
[oracle@OL96TC bin]$ ll
total 32
-rwxr-xr-x. 1 oracle oinstall 29653 Jan  1  2023 sql
[oracle@OL96TC bin]$ ./sql /nologError: SQLcl requires Java 11 and above to run.Found Java version no_java.Please set JAVA_HOME to appropriate version.

3、Oracle Linux 9安装后默认的位置和变量设置 

[oracle@OL96TC ~]$ export PATH=$PATH:/opt/oracle/product/23ai/dbhomeFree/jdk/bin
[oracle@OL96TC ~]$ java -version
java version "11.0.27" 2025-04-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.27+8-LTS-232)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.27+8-LTS-232, mixed mode)
4、修改oracle用户在的.bash_profile

--如果是手工安装的java-11或是java-17的OPENJDK设置下一行, 

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk

export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export ORACLE_SID=FREE
export PATH=$ORACLE_HOME/bin:$PATH
export PATH=$PATH:/opt/oracle/product/23ai/dbhomeFree/sqlcl/bin
--如果是手工安装的java-11或是java-17的OPENJDK设置下一行,
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$PATH:$JAVA_HOME/bin
4.1 不单独使用dnf安装JAVA,直接使用Oracle 23 ai free安装后的JDK 

export PATH=$PATH:/opt/oracle/product/23ai/dbhomeFree/jdk/bin

 [oracle@OL96TC ~]$ cat ~/.bash_profile
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programs
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export ORACLE_SID=FREE
export PATH=$ORACLE_HOME/bin:$PATH
export PATH=$PATH:/opt/oracle/product/23ai/dbhomeFree/sqlcl/bin
export PATH=$PATH:/opt/oracle/product/23ai/dbhomeFree/jdk/bin
export PATH=$PATH:$JAVA_HOME/bin

二、Linux 上JAVA安装和变量设定

在Linux 无论是Redhat、Oracle Linux、Almalinux系列安装JAVA,均可行的办法。

验证是在Oracle Linux 9上安装JDK并配置环境变量的步骤如下:

1. 更新系统

sudo dnf update -y

2. 清理旧版本环境
在安装新JDK前清理旧版本环境非常重要,需要完整安全地清理:
  • 列出已安装的JDK相关包
dnf list installed | grep -E 'java|jdk|openjdk'
--rpm查阅
rpm -qa | grep -E 'java|jdk|openjdk'
  • 卸载所有JDK相关包-生产环境谨慎
# 批量卸载(务必谨慎操作,会删除所有Java相关包)
sudo dnf remove $(rpm -qa | grep -E 'java|jdk|openjdk') -y# 或单独卸载指定包比如删除1.8.0
sudo dnf remove java-1.8.0-openjdk java-11-openjdk java-17-openjdk -y
  • 清理残留文件
# 检查可能残留的目录
ls -l /usr/lib/jvm/
ls -l /usr/java/# 手动删除残留目录
sudo rm -rf /usr/lib/jvm/java-*
sudo rm -rf /usr/java/*
  • 清除alternatives配置
在 Linux 系统中,​alternatives​ 是一个用于管理系统中多个功能相似的软件版本的命令行工具,特别适用于管理 Java 环境等需要版本切换的场景。

 

# 列出Java相关alternatives配置
sudo alternatives --list | grep java# 逐个删除(以java命令为例)--未使用
sudo alternatives --remove java /path/to/old/jre/bin/java
  • 检查环境变量残留
# 查看环境变量配置
cat /etc/profile.d/*.sh | grep JAVA_HOME
cat ~/.bashrc | grep JAVA_HOME# 手动注释或删除旧配置
sudo nano /etc/profile.d/java.sh  
# 上一行需要对应删除或注释相关行
nano ~/.bashrc                    
# 上一行需要对应删除或注释相关行
  • 应用清理
source /etc/profile
source ~/.bashrc
  • 验证系统是否还存在Java
which java     
# 应返回无结果
java -version  
# 应提示"command not found"
清理完成后,可继续执行JDK安装流程
注意事项
  • 1.生产环境谨慎操作,确保卸载不会影响现有服务
  • 2.某些应用可能自带JRE,需单独处理

3. dnf搜索可用的JDK版本 

dnf search jdk
# 或搜索OpenJDK  有些版权问题,一般都用这个OPENJDK
dnf search openjdk

4. 安装JDK,选择11还是17,推荐lts版本 

sudo dnf install java-11-openjdk-devel -y
#选择11还是选择17,甚至目前有21 
sudo dnf install java-17-openjdk-devel -y

5. 验证安装 

java -version
javac -version
6. 查找JDK安装路径
find / -name 'java' -type f
type javawhich java
ls /usr/lib/jvm/
# 通常路径类似11,17,21等:/usr/lib/jvm/java-17-openjdk-<版本号>
7. 配置全局环境变量

创建配置文件:

sudo vi /etc/profile.d/java.sh

输入以下内容(替换为上面查询到的JDK路径): 

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$PATH:$JAVA_HOME/bin

保存后执行:

source /etc/profile.d/java.sh

8. 验证环境变量 

echo $JAVA_HOME
echo $PATH
java -version

JDK已安装并配置完成,可正常使用Java环境,

如需其他版本(如JDK 21/17/11/8),将上述步骤中的17替换为对应版本号即可。

 

 

相关文章:

  • RISC-V 开发板 + Ubuntu 23.04 部署 open_vins 过程
  • 03.数据类型
  • 【读论文】OpenAI o3与o4系统模型技术报告解读
  • 基于机器学习的智能故障预测系统:构建与优化
  • Go语言--语法基础5--基本数据类型--输入输出(1)
  • 计算机常用快捷键分类汇总,涵盖 Windows、macOS 以及通用软件场景
  • 20242817李臻-安全文件传输系统-项目验收
  • Android 集成 Firebase 指南
  • Alight Motion汉化版:视频剪辑,轻松上手
  • 基于安卓的文件管理器程序开发研究源码数据库文档
  • surfer15安装
  • web架构4------(nginx常用变量,nginx中英文自动匹配,lnmp网站架构,正向代理,反向代理,负载均衡)
  • 力扣面试150题--课程表
  • 【P2P】直播网络拓扑及编码模式
  • 基于PostGIS的各地级市路网长度统计及Echarts图表可视化实践-以湖南省为例
  • Spring缓存注解的陷阱:为什么@CacheEvict删不掉Redis缓存?
  • 5G-A通感融合对监控监督体系的核心作用
  • MySQL知识回顾总结----数据库基础
  • Python 训练营打卡 Day 46
  • 跨境收单流程
  • 网站登录模版/发外链的论坛
  • 新手学做网站教程/营销策划的六个步骤
  • 做威尼斯网站代理算是违法吗/培训网站搭建
  • 做企业网站步骤/互联网推广是什么工作内容
  • 怎么做网站赚/上海关键词推广
  • 规避电子政务门户网站建设的教训/百度网页pc版登录