如何更改mac上的Java默认版本?
当前回答
首先找出存储环境变量的位置
emacs bash_profile zshrc中
设置环境变量步骤:- .单击“确定”
从JAVA下载jdk 双击安装它 现在在文件中设置环境变量 a. emacs。你可以使用这个链接或看到下面的截图
b.对于ZSH配置文件设置-
1. export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
2. source ~/.zshrc - Restart zshrc to reflect the changes.
3. echo $JAVA_HOME - make sure path is set up properly
----> /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
4. java -version
--> java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b16)Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
所有设置现在您可以轻松升级或降级JAVA版本..
其他回答
如果你仍然不能设置它。使用该命令。
export JAVA_HOME=/usr/libexec/ JAVA_HOME
那你就得用这个。
export JAVA_HOME=$(/usr/libexec/ JAVA_HOME -v 1.8)
它肯定会起作用。
考虑以下方法,仅为终端的每个特定选项卡(即:iTerm)更改JDK。
在/Library/Java/JavaVirtualMachines路径中有以下两个jdk
openjdk8u275-b01 openjdk-11.0.9.1 + 1
在.bash_profile文件中:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk-11.0.9.1+1/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
如果打开第一个选项卡为A的“Iterm -”,执行以下命令:
javac -version
javac 11.0.9.1
java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9.1+1)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode)
输出是正确的和预期的
但是如果你打开第二个Tab B,你需要覆盖默认的JDK,然后在终端中写以下内容:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/openjdk8u275-b01/Contents/Home/
export PATH=$JAVA_HOME/bin:$PATH
Then
javac -version
javac 1.8.0_275
java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.275-b01, mixed mode)
它工作得很好。当然,如果选项卡B被关闭,或者你打开一个新的选项卡C,所有工作都根据.bash_profile设置(因此是默认设置)
以前我在.zshrc中使用别名,以便在版本之间轻松切换,但今天我使用SDKMAN。 SDKMAN还可以为系统设置默认java,以及下载和安装新的java版本。
一旦安装了sdkman,您就可以执行类似于nvm工具处理节点版本的命令。
Java将列出您的系统上可用的Java版本以及可在线安装的Java版本,包括您可以在SDK使用,SDK默认和SDK安装命令中使用的标识符。
例如,安装Amazon Corretto 11.0.8并询问它是否应该是新的默认值,这样做: SDK安装Java 11.0.8-amzn
我还经常使用的一个特性是.sdkmanrc文件。 如果你把它放在你机器上的一个目录中,并在该目录中运行sdk env命令,那么你可以配置只在该目录中使用的工具版本。也可以使用sdkman_auto_env=true配置使sdkman自动切换工具版本。
sdkman还支持为JVM处理其他工具,如gradle, kotlin, maven等等。
欲了解更多信息,请访问https://sdkman.io/usage#env
首先找出存储环境变量的位置
emacs bash_profile zshrc中
设置环境变量步骤:- .单击“确定”
从JAVA下载jdk 双击安装它 现在在文件中设置环境变量 a. emacs。你可以使用这个链接或看到下面的截图
b.对于ZSH配置文件设置-
1. export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
2. source ~/.zshrc - Restart zshrc to reflect the changes.
3. echo $JAVA_HOME - make sure path is set up properly
----> /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
4. java -version
--> java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b16)Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
所有设置现在您可以轻松升级或降级JAVA版本..
博士tl;
加一行:
出口JAVA_HOME = ' /图书馆/ Java / JavaVirtualMachines / jdk1.8.0_144.jdk /内容/家庭的
到文件
~ / . bash_profile
(取代jdk1.8.0_144。JDK的下载版本)
然后源~/.bash_profile
推荐文章
- 指定的子节点已经有一个父节点。你必须先在子对象的父对象上调用removeView() (Android)
- 对于一个布尔字段,它的getter/setter的命名约定是什么?
- 如何获得当前屏幕方向?
- 如何在Android中渲染PDF文件
- 如何计算一个元素在列表中出现的次数
- c++中类似于java的instanceof
- 我如何解决错误“minCompileSdk(31)指定在一个依赖的AAR元数据”在本机Java或Kotlin?
- 如何POST表单数据与Spring RestTemplate?
- Mockito中检测到未完成的存根
- 我应该如何复制字符串在Java?
- “while(true)”循环有那么糟糕吗?
- 这个方法签名中的省略号(…)是干什么用的?
- Java:如何测试调用System.exit()的方法?
- 带有返回类型的Java方法在没有返回语句的情况下编译
- Java“此语言级别不支持lambda表达式”