Mac系统Java默认版本设置

在MAC系统中,jdk的安装路径与windows不同,默认目录是:/System/Libray/Frameworks/JavaVM.Framwork/。
   在这个目录下有个Versions目录,里面有不同版本的jdk。

1.怎样设置mac中的默认java版本呢 ?

先看一下mac中,java链接到了哪里:

进入到相应的目录:cd /usr/bin

查看java链接到了哪里:ls -l java

localhost:bin root# ls -l java
lrwxr-xr-x  1 root  wheel  74 May 18 10:26 java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
可以看到java连接到了current版本。那么这个到底是什么版本呢?其实,mac中current只是一个快捷方式而已,是为了方便设置默认java的。

这个链接连到哪里,默认的java就是哪个。但是在mac中可以保持这个java链接不变,只是改变一下当前的java即可,下面是步骤:

1)打开Finder : 单击桌面地步的finder图标即可。

2)Application-->Utilities-->Java-->Java Preferences

3)由第二步可以打开“Java Preferences”对话框,选中“General”tab。在下面的“Java Application Runtime Settings”区把需要的java版本拖动到最顶端即可。

最顶端的java就是当前(current)java,这样在改变默认java版本时就不用在/usr/bin下重新设置java链接,而是直接在这里把需要的java拖到最上面就行。

2.MAC中的javahome设置

在windows中,javahome的值只是取到版本号的目录即可,但是在mac中有稍微的不同,要去到版本号目录下的Home目录,如:

JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

3. 在MAC中设置JAVA_HOME环境变量

环境变量要再etc目录下的profile文件中配置,这样才是永久的配置。

cd /etc

vi profile

输入如下内容:

JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

export JAVA_HOME

保存。然后重启或者注销,使环境变量的配置起作用。

这样javahome的环境便令配置好了。

同样的道理,我们可以在profile这个文件中进行PATH,CALSSPATH等环境变量的配置。

### 如何在Mac OS上切换不同的Java版本Mac操作系统中,可以通过`/usr/libexec/java_home`命令来定位不同版本Java安装路径,并通过设置环境变量`JAVA_HOME`实现版本之间的切换。以下是具体方法: #### 使用`/usr/libexec/java_home`查看已安装的JDK版本 运行以下命令可以列出系统中所有已安装的JDK版本及其对应的路径: ```bash /usr/libexec/java_home -V ``` 此命令会显示类似于以下的内容[^2]: ``` Matching Java Virtual Machines (3): 17.0.1 (x86_64) "Azul Systems, Inc." - "Zulu 17.32+" /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home 11.0.12 (x86_64) "Oracle Corporation" - "OpenJDK 11.0.12" /Library/Java/JavaVirtualMachines/openjdk-11.jdk/Contents/Home 1.8.0_302 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_302.jdk/Contents/Home ``` #### 设置特定版本的`JAVA_HOME` 假设需要切换到Java 11,则可以运行如下命令: ```bash export JAVA_HOME=$(/usr/libexec/java_home -v 11) ``` 验证当前使用的Java版本是否已经切换成功: ```bash java -version ``` #### 自动化切换配置 为了更便捷地切换Java版本,可以在Shell配置文件(如`.zshrc`或`.bash_profile`)中定义别名(alias),从而快速切换。 编辑相应的配置文件并添加以下内容: ```bash # 定义各版本JAVA_HOME export JAVA_8_HOME=$(/usr/libexec/java_home -v 1.8) export JAVA_11_HOME=$(/usr/libexec/java_home -v 11) export JAVA_17_HOME=$(/usr/libexec/java_home -v 17) # 别名用于快速切换版本 alias jdk8="export JAVA_HOME=$JAVA_8_HOME" alias jdk11="export JAVA_HOME=$JAVA_11_HOME" alias jdk17="export JAVA_HOME=$JAVA_17_HOME" # 默认使用某个版本 export JAVA_HOME=$JAVA_8_HOME ``` 保存文件后,加载新的配置: ```bash source ~/.zshrc # 对于zsh用户 source ~/.bash_profile # 对于bash用户 ``` 之后即可通过简单的命令完成版本切换,例如: ```bash jdk11 java -version ``` 以上操作完成后,终端中的Java版本将会被切换至指定版本[^2]。 --- #### 注意事项 如果发现切换后的版本未生效,请确认以下几点: 1. 是否正确设置了`JAVA_HOME`环境变量。 2. 系统是否存在其他冲突性的环境变量覆盖了`JAVA_HOME`。 3. 尝试重启终端窗口以确保新配置完全生效[^3]。 --- ### 示例代码块 以下是一个完整的脚本示例,展示如何自动化切换Java版本: ```bash #!/bin/bash # 获取可用的JDK版本 echo "Available JDK versions:" /usr/libexec/java_home -V 2>&1 | grep -E '^\s+[0-9]+' # 提供选项让用户输入目标版本号 read -p "Enter the desired JDK version (e.g., 1.8, 11): " VERSION # 设置JAVA_HOME if [[ ! -z "$VERSION" ]]; then export JAVA_HOME=$(/usr/libexec/java_home -v $VERSION) fi # 输出当前Java版本 java -version ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值