【问题标题】:Which java jdk i actually run when I installed two jdks当我安装两个 jdk 时,我实际运行的是哪个 java jdk
【发布时间】:2015-11-05 19:59:09
【问题描述】:

我已经安装了两个jdk,版本分别是1.7和1.8。 在我的 .bash_profile 中,我使用 $(/usr/libexec/java_home -v 1.7) 设置了 JAVA_HOME 变量。在 bash shell 中我运行 java -version,它输出 1.7,但是当我运行 sudo java -version 时,它输出 1.8。那么我实际运行的是哪个 java。

【问题讨论】:

  • 你使用的是哪个 linux 发行版?

标签: java bash environment-variables sudo


【解决方案1】:

当您使用sudo 运行命令时,它会在指定用户的环境下运行(如果未指定用户,则为 root)。因此,当sudo 运行时,本地 shell 中设置的环境变量就消失了。

【讨论】:

  • 如何找到 java 可执行二进制文件。在我的 bash_profile 中我设置了 JAVA_HOME,但是当我运行 sudo java 时,我使用了哪个 java 以及系统如何找到它
  • 加载了 root 用户的配置文件,这会覆盖您拥有的所有环境变量。看看 root 的 bash_profile。
  • @onlyG 这回答了你的问题吗?
猜你喜欢
  • 2020-02-11
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 2016-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多