在Linux上配置Java环境
基于Ubuntu20.04LTS配置Java环境
在Linux上配置Java环境的方式有3种, 系统级配置、用户级配置、临时配置
配置好Java环境就能够在Linux上运行基于Java环境运行的相关程序, 你可以在Linux系统上搭建基于Java实现的网站。这里以系统级配置为例, 适合个人开发者使用
1.下载tar.gz压缩包
从Java官网 下载tar.gz包, 可以先下载到windows中, 再通过远程文件传输工具, 将压缩包传送到Linux的目录下, 也可以直接在Linux服务器中使用命令下载到指定目录
本文使用的是jdk-8u151-linux-i586.tar.gz包, 高版本可能有所区别, 32位与64位版本在不同linux发行版上可能有所区别
2.在Linux中配置环境
1.前提准备
默认当前目录是初始目录/root, 默认当前用户权限为root权限, 默认tar.gz包已经传送到/root目录下
2.创建用于存放Java文件夹的目录
1 | sudo mkdir /usr/java |
3.解压tar.gz压缩包到该目录
1 | sudo tar -zxvf jdk-8u151-linux-i586.tar.gz -C /usr/java |
4.编辑环境变量文件
1 | sudo vim /etc/profile |
在文件末尾追加下面内容, 具体目录根据实际情况编写
1 | export JAVA_HOME=/usr/java/jdk1.8.0_151 |
一些特殊符号说明
:
表示并列符号, 说明某个变量的值有多个, 用:
来区分。相当于Windows下的 ;
$
表示引用变量, {}
则用于限定变量边界, 如上面的${JAVA_HOME}
就表示/usr/java/jdk1.8.0_151
5.使环境变量马上生效
1 | source /etc/profile |
3.测试Java环境
运行以下命令, 如果都成功运行, 则说明Java环境配置完成
1 | java -version |
可能遇到的问题
安装i586后缀jdk, 即安装32位的jdk后测试Java环境时提示bash: /usr/lib/java/jdk1.8.0_151/bin/java: 没有那个文件或目录, 可能是由于当前Linux发行版默认没有用于amd64系统的32位libc开发包
可通过以下5个常用命令查看Linux发行版的架构信息
1 | uname -a |
安装缺失的32位开发包
1 | sudo apt-get install libc6-i386 |
如果安装libc6-i386失败, 请先更新软件列表, 再尝试重新安装, 并重新测试Java环境
1 | sudo apt-get update |
如果还是失败请选择64位的jdk版本重新进行配置
重新测试Java环境
4.update-alternatives软件版本管理
1.系统注册jdk(需要使用多个jdk版本时)
1 | sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_151/bin/java 300 |
参数说明
第一个参数: --install表示向update-alternatives注册服务名
第二个参数: 注册最终地址, 成功后将会把命令在这个固定的目的地址做真实命令的软链接, 通过管理这个软链就能实现不同版本jdk的切换
第三个参数: 服务名, 管理时以它为关联依据
第四个参数: 被管理命令的绝对路径
第五个参数: 优先级, 数字越大优先级越高
2.交互式修改
如果有多个版本的jdk, 可执行下面的命令通过交互界面进行切换
1 | sudo update-alternatives --config java |
查看多个版本的jdk以及当前状态
1 | sudo update-alternatives --display java |
调整为auto模式, 如果上面查看的状态是manual, 则还不能自动选择优先级高的jdk版本, 需要调整为auto模式
1 | sudo update-alternatives --auto java |
5.补充
将上述的/etc/profile替换成~/.bashrc就是用户级配置
/etc/profile: 此文件为系统的每个用户设置环境信息, 当用户第一次登录时, 该文件被执行, 是系统全局对终端环境的设置, 它是login时最先被系统加载的, 是它调用了/etc/bashrc, 以及/etc/profile.d目录下的*.sh文件, 如果有一个软件包, 系统上只安装一份, 供所有开发者使用, 建议在/etc/profile.d下创建一个新的xxx.sh, 配置环境变量
~/.bashrc: 是用户相关的终端(shell)的环境设置, 通常打开一个新终端时, 默认会加载里面的设置, 在这里的设置不会影响其它用户。如果一个服务器多个开发者使用, 需要配置多个sdk, 则推荐使用该设置
- 标题: 在Linux上配置Java环境
- 作者: Entropy Tree
- 创建于 : 2022-11-26 14:20:08
- 更新于 : 2023-10-21 12:20:48
- 链接: https://www.entropy-tree.top/2022/11/26/java-in-linux/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。