当前位置: 首页 > 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替换为对应版本号即可。

 

 

http://www.xdnf.cn/news/941473.html

相关文章:

  • 第五讲 基础IO
  • Go切片与映射的内存优化技巧:实战经验与最佳实践
  • 【LeetCode】算法详解#6 ---除自身以外数组的乘积
  • JUC并发编程(六)CAS无锁实现/原子整数/原子引用/原子数组/字段更新
  • Python训练营---DAY48
  • Java线程安全与同步机制全解析
  • 嵌入式学习笔记 - freeRTOS为什么中断中不能使用互斥量
  • 《最短路(Dijkstra+Heap)》题集
  • MySql读写分离部署(一主一从,双主双从,Mycat)
  • 为什么已经有 Nginx 了,还需要服务网关?
  • 【LUT技术专题】带语义的图像自适应4DLUT
  • Cherry-Studio搭建个人知识库智能体
  • JS的数据类型分类
  • 国产变频器与codesys控制器通信融合方案
  • gitee....
  • SpringSecurity+vue通用权限系统
  • Python环境搭建:pyenv-win的使用指南
  • [Linux]假如给我Linux开发工具
  • InnoDB
  • Deep Research实践
  • U盘安装ubuntu系统
  • 高压电红外过热目标检测数据集(8类,4075 张)
  • Torch requires_grad / backward / is_leaf 的一些坑
  • C语言进程间通信:基础篇
  • 【电路】阻抗匹配
  • Linux性能调优:从内核到应用的极致优化
  • Virtex II 系列FPGA的配置原理
  • 【51单片机】3. 数码管大师
  • windows安装Nexus3.6
  • Vue3 + TypeSrcipt 防抖、防止重复点击实例