Mac 电脑输入java命令提示找不到的问题

Java 环境在 Mac Big Sur 有时候真的很让人琢磨不透。

经常出现命令行可以, GUI程序中不可以(jekenis 或者 各种android dex破解工具)

我一直在寻找如何给GUI程序给设置环境变量方法, 效果不理想。

花了好几个小时,换来几个相关知识点吧。

1.  通过dmg安装Java,可能的路径是

  目录1:/Users/dzq/Library/Java/JavaVirtualMachines/

  目录2:/Library/Java/JavaVirtualMachines/

2. 通过brew 方式安装openjdk

 实际目录:/usr/local/Cellar/openjdk..

 软链接目录: /usr/local/opt/openjdk..

再说一下Mac默认的Java程序:

目录1: /usr/bin/java

目录2:/usr/libexec/java_home

两个路径下可执行程序是一样的

 

 

通过实战摸索出来一个结论, 其实大可以不必设置JAVA_HOME JAVA_BIN环境变量,

/usr/bin/java 程序会自动到 JavaVirtualMachines 目录去找Java运行环境。

比如我现在的环境, 没有设置java环境变量, 不管是控制台还是依赖java的GUI程序,都可以完美运行。

控制台输入 java -verbose

 

当然设置环境变量是有用的,控制台程序可以指定哪个版本的Java,  但是这种方法对GUI程序无效, 该找不到Java环境依旧找不到, 即使安装了Java又怎么样。

到现在依旧有一个心结,就是如何给GUI程序指定Java运行环境。 之前在/etc/bashrc中新增环境变量, 依然无效。 

目前有一种解决方案就是把Java运行环境放到JavaVirtualMachines路径下吧, 至于想不想设置JAVA_HOME环境,您随意就好。

不知道这是不是通用的方案,但是这种方式至少对我有用。

===========================

java 下载地址:

java8:

https://corretto.aws/downloads/resources/8.302.08.1/amazon-corretto-8.302.08.1-macosx-x64.tar.gz

java11:

https://repo.huaweicloud.com/java/jdk/11.0.2+9/jdk-11.0.2_osx-x64_bin.dmg 

 

dmg方法自动安装在/Library/Java/JavaVirtualMachines

tar.gz方式 你自己解压放到JavaVirtualMachines目录就行。 如果只想当前用户使用这个Java, 那就放在/User/xxxx/Library/Java/JavaVirtualMachines

java 程序优先找所有用户的Java环境目录: /Library/Java/JavaVirtualMachines

那么就建议统一放到/Library/Java/JavaVirtualMachines目录下吧

posted @ 2021-07-21 16:07  Please Call me 小强  阅读(634)  评论(0编辑  收藏  举报