其他系统安装JAVA

推荐用 SdkMan 管理 java 多版本

mac下 SDKMAN 管理 java 多版本

JAVA 安装 ,java 11/ java 17

JAVA 11.X
下载地址 (JDK DOWNLOAD)
http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载 jdk-11.0.1_osx-x64_bin.dmg 这个
直接复制以下所有,粘贴到 命令行,回车 (这里的意思是,绕过验证直接下载,不需要再登录)

wget --no-check-certificate --no-cookies --header \
"Cookie: oraclelicense=accept-securebackup-cookie" \
https://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_osx-x64_bin.dmg

下载完成后,直接点击该文件开始安装,安装完成后 java环境变量并没有自动设置,所以要自己去设置,请继续 向下看
风.foxwho

JAVA 安装位置

which java
//输出
/usr/bin/java
#或 以下,如果是这个,后面就不需要再执行后续步骤了,直接跳转到 环境变量配置
/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/bin/java

对输出的链接进行软连接查看/usr/bin/java

ls -al /usr/bin/java

输出

lrwxr-xr-x  1 root  wheel    74B  1 10 10:21 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

那么得到 目录/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/,进入该目录后发现并不是JAVA的实际安装位置,还需要再进行定位

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands

对JAVA 定位

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home  -v

输出

java_home: option requires an argument -- v
/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home

最后的这个目录就是 java jdk 的实际目录

风.fox

环境变量配置

编辑

vim ~/.bash_profile

最后加入

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
export JRE_HOME=$JAVA_HOME/jre
export CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH:

应用并生效

source ~/.bash_profile

新mac系统 10.15.x 及之后的 版本 默认的 终端使用的是 zsh

设置
编辑

vim ~/.zshrc

最后加入

source ~/.bash_profile

应用并生效

source ~/.zshrc

查看JAVA版本

java -version

查看配置路径

echo $JAVA_HOME

Open Jdk 安装

地址
https://mirrors.tuna.tsinghua.edu.cn/Adoptium/ 推荐

jdk9-jdkxhttp://hg.openjdk.java.net/jdk-updates/

jdk8 http://hg.openjdk.java.net/jdk8u/jdk8u/

具体 安装 请看

http://jdk.java.net/archive/

MAC maven 安装和配置


推荐 sdkman 管理 java 多版本
推荐 sdkman 管理 java 多版本
推荐 sdkman 管理 java 多版本

mac下 SDKMAN 管理 java 多版本. 推荐

curl -s "https://get.sdkman.io" | bash

安装出现[y] ,填写 y

应用环境变量

source "$HOME/.sdkman/bin/sdkman-init.sh"

检测SDKMAN版本

sdk version

输出

==== BROADCAST =================================================================
*********
================================================================================

SDKMAN 5.14.1

配置环境变量(不一定是必须的)

正常情况下,安装成功后,自动帮我门配置

查看 ~/.zshrc~/.bash_profile 是否存在,如果存在则在最后一行增加如下

#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="$HOME/.sdkman"
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"

$HOME : 用户目录

查看 SDKMAN 命令

sdk
或
sdk help

列出可用的 SDK 版本

sdk list java

安装java jdk 版本

sdk install 参数1 参数2 参数3

案例
sdk install java 17.0.2-open /Users/fox/lang/jdk-17.0.2

参数1 必填。 为 SDK 名称。如 java
参数2 选填。 为 SDK 版本。如 17.0.2-open
参数3 选填。 本地安装路径(要存在该目录,没有则新建立)。 如 /Users/fox/lang/jdk-17.0.2

如果 /Users/fox/lang/jdk-17.0.2 目录下已经存在jdk,那么自动使用该目录安装,并覆盖1,如果目录里内容为空则自动下载

输出

Downloading: java 17.0.2-open

In progress...

################################################################################################################################################################ 100.0%

Repackaging Java 17.0.2-open...

Done repackaging...
Cleaning up residual files...

Installing: java 17.0.2-open
Done installing!


Setting java 17.0.2-open as default.

查看当前jdk 版本

sdk current java

输出

Using java version 17.0.2-open

设置默认版本(指定版本)

sdk default java 17.0.2-open

格式
sdk default 参数1 参数2

参数1 必填。 为 SDK 名称。如 java
参数2 选填。 为 SDK 版本。如 17.0.2-open

输出

Default java version set to 17.0.2-open

设置当前会话(终端)内版本

sdk use java 17.0.2-open

格式
sdk use 参数1 参数2

参数1 必填。 为 SDK 名称。如 java
参数2 选填。 为 SDK 版本。如 17.0.2-open

卸载 jdk版本

sdk uninstall java 17.0.2-open

格式
sdk uninstall 参数1 参数2

参数1 必填。 为 SDK 名称。如 java
参数2 选填。 为 SDK 版本。如 17.0.2-open

查看jdk 安装路径

sdk home java 17.0.2-open
格式
sdk home 参数1 参数2

参数1 必填。 为 SDK 名称。如 java
参数2 选填。 为 SDK 版本。如 17.0.2-open

mac下 jenv管理 java 多版本

https://www.jenv.be/

brew install jenv

jenv查看jdk版本列表

jenv versions

输出

system
  1.8
  1.8.0.202
  11
  11.0
  11.0.2
* 17 (set by /Users/fox/.jenv/version)
  openjdk64-11.0.2
  openjdk64-17
  oracle64-1.8.0.202

jenv 切换 版本

jenv global 11.0.2

查看java 版本

java -version

配置 jenv 添加java版本

jenv add /Users/fox/lang/jdk-11.0.2.jdk/Contents/Home