关于 Java 环境变量的问题求助

2021-01-12 23:14:18 +08:00
 zirawell

求助大佬!

JAVA_HOME 指向了 15 的 JDK 但是运行 java -version 还是显示 1.8 的 JDK,这是为什么呢?

1882 次点击
所在节点    Java
11 条回复
Jooooooooo
2021-01-12 23:15:23 +08:00
试一下 whereis java 看看指到哪去了
zirawell
2021-01-12 23:17:15 +08:00
@Jooooooooo ~
 whereis java
/usr/bin/java
~  which java
/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/bin/java
hcymk2
2021-01-12 23:19:21 +08:00
which java 不是有结果了么。
zirawell
2021-01-12 23:20:26 +08:00
@hcymk2 是啊 但是为什么不是跟着 JAVA_HOME 指向的走呢
Jooooooooo
2021-01-12 23:24:57 +08:00
@zirawell 搜一下诸如 how to change /usr/bin/java version 之类的关键词吧
hcymk2
2021-01-12 23:26:18 +08:00
苹果不了解。JAVA_HOME 只是一个环境变量 关键是的看 PATH
zirawell
2021-01-12 23:36:33 +08:00
@Jooooooooo 我在另一台电脑上配置的是可以的 所以这个就很奇怪
zirawell
2021-01-12 23:36:55 +08:00
@hcymk2 PATH 就在 JAVA_HOME/bin 底下
lululau
2021-01-12 23:42:30 +08:00
type java 看一下是哪个程序,一般来说应该是 /usr/bin/java 才对,这个文件是个 wrapper,它会根据 JAVA_HOME 的值去找真正的 executable binary, 所以 /usr/bin/java 以及 /usr/bin/javac 等等一般都是下同的文件大小,只有 100KB 多点
lululau
2021-01-12 23:46:45 +08:00
也可以不用纠结,用 jenv 管理命令行中的 Java 版本
zirawell
2021-01-13 00:08:40 +08:00
@lululau 问题解决了 谢谢 我后来用 Iterm2 试了一下 whereis which 都是指向 usr/bin/java 然后切换就成功了 后来用终端试了一下也可以了 可能是我改了.zshrc 没有关闭文件直接 source 出现的问题吧 之前用 which 会指向实际目录

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/744362

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX