本地有多个java版本8,11,15,17但是每次执行代码后,版本没变化?

玉宇琼楼
• 阅读 390

export JAVA_HOME=/Library/Java/JavaVirtualMachines/<Java版本目录>/Contents/Home

这个问题通常是由于系统默认使用的Shell不同导致的。在Mac上,默认的Shell是bash,但是在较新的版本中,默认的Shell已经改为了zsh。

在你的终端中执行

echo $SHELL

你可能会看到 /bin/bash或 /bin/zsh,这里如果你是 /bin/bash说明你的默认shell是bash,那么你修改配置文件.bash_profile生效

如果你的输出是/bin/zsh,那么说明你的shell是zsh,这种情况你需要修改配置文件.zshrc执行

vim .zshrc

按 i 键后编辑你的配置文件

这里附上本人的配置

export PATH=${PATH}:/usr/local/mysql/bin

source ~/.bashrc

export PATH="/usr/local/mysql/bin:$PATH"

#maven

export MAVEN_HOME=/Users/zjh/devTools/apache-maven-3.9.5

export PATH=$MAVEN_HOME/bin:$PATH

#java

export JAVA_11_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.15.1.jdk/Contents/Home

export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home

JAVA_HOME=$JAVA_11_HOME

PATH=.:$JAVA_HOME/bin:$PATH

alias jdk11="export PATH=${PATH/$JAVA_HOME/$JAVA_11_HOME};export JAVA_HOME=$JAVA_11_HOME"

alias jdk8="export PATH=${PATH/$JAVA_HOME/$JAVA_8_HOME};export JAVA_HOME=$JAVA_8_HOME"

配置完成后 :wq保存退出,然后运行文件source .zshrc

这样你的java版本就被修改了

点赞
收藏
评论区
推荐文章
芝士年糕 芝士年糕
2年前
Linux shell 内建命令
前言一、shell简介shell是Linux系统中一个提供命名行的交互式工具,本质是一个c语言可执行程序,为用户提供了启动程序,管理文件系统中的文件以及运行在Linux系统上的进程的途径。命令行提示符是shell负责交互的部分,允许用户输入文本命令,然后解释命令,并在内核中执行。Linux系统上有多种shell可用,Linux发行版默认的shell都是ba
Stella981 Stella981
3年前
Python升级Linux
CentOS7中默认安装了 Python,版本比较低(2.7.5),为了使用新版3.x,需要对旧版本进行升级。由于很多基本的命令、软件包都依赖旧版本,比如:yum。所以,在更新 python 时,建议不要删除旧版本(新旧版本可以共存)。查看Python版本号当 Linux 上安装Python后(默认安装)
Wesley13 Wesley13
3年前
Java执行shell脚本并返回结果两种方法的完整代码
Java执行shell脚本并返回结果两种方法的完整代码简单的是直接传入String字符串,这种不能执行echo或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用)执行复杂的shell建议使用String\\方式传递(对外可以封装后也传入String字符串)。/运行shell脚本
Stella981 Stella981
3年前
Mac部署spark2.4.4
环境信息1.操作系统:macOSMojave10.14.62.JDK:1.8.0\_211(安装位置:/Library/Java/JavaVirtualMachines/jdk1.8.0\_211.jdk/Contents/Home)前提条件请参考《Mac部署hadoop3(伪分布式)》(https://www
Stella981 Stella981
3年前
Shell编程基础
本文索引:shell中的函数shell中的数组告警系统需求分析shell中的函数shell作为一种编程语言,必然有函数。函数可以大大减少代码,提高代码复用率。shell中的函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可。格式
Stella981 Stella981
3年前
Mac部署hadoop3(伪分布式)
环境信息1.操作系统:macOSMojave10.14.62.JDK:1.8.0\_211(安装位置:/Library/Java/JavaVirtualMachines/jdk1.8.0\_211.jdk/Contents/Home)3.hadoop:3.2.1开通ssh在"系统偏好设置""共享",设置如
Wesley13 Wesley13
3年前
1.学习shell脚本之前的基础知识
【什么是shell】简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。linux发布版本(Redhat/CentOS)系统默认安装的shell叫做bash,即BourneAgainShell,它是sh(BourneShell)的增
Stella981 Stella981
3年前
JOptionPane修改图标
1.在Linux平台下.JOptionPane会显示Java默认的图标,在window平台不显示图标,如何替换这个图标了?2JOptionPane.setIcon(Icon)修改的是内容区域的icon,而不是左上角的Icon.所以需要通过修改Jdialog/Frame的图标来达到修改默认图标的问题.3.代码:if(JOptio
Wesley13 Wesley13
3年前
Java 8 接口里的默认方法特性研究
这篇文章我们将要探讨Java 8中接口里的默认方法特性。Java8指出“默认方法使得新功能被添加到库中的接口里面,同时又能保证与这些接口老版本代码的二进制兼容性。这些年Java进化升级了很多,在Java库中引入的接口需要添加新的功能。在没有默认方法特性时,当你往接口中添加新方法时,接口内部所有实现的类都要历经一些修改。这将导致上千行的代码修改工作量。为了
linux云服务器常用设置
更改shell  默认地,ubuntu系统默认的shell是dash,但更常用的shell是bash  通过下面命令可以将dash更改为bashdpkgreconfiguredash  然后选  执行lsl/bin/sh命令,查看shell类型已经修改为bashlsl/bin/sh帐号权限  为了提高服务器安全性,需要设置一个高权限的账号来代替