【问题标题】:Why Linux java -version by ssh give different result?为什么 Linux java -version by ssh 会给出不同的结果?
【发布时间】:2016-04-26 22:46:50
【问题描述】:

所以我的问题是为什么当我在我的cent os 中以root 身份执行“java -version”命令时它给了我“java runtime 1.7”。但是当我使用 ssh 对同一个 root 用户进行 ssh 并执行“java -version”时,我得到了“java JDK 1.6”,这个问题导致我的部署活动不起作用。所以任何人都知道,为什么我在使用 ssh 命令时得到了不同的结果。

谢谢大家...

【问题讨论】:

    标签: java linux ssh centos version


    【解决方案1】:

    问题是由于 $PATH 在两个上下文中的设置不同。

    在两种上下文中运行 echo $PATHwhich java 并比较结果。

    不管 $PATH 设置为何不同,一种解决方案是使用您想要的 java 二进制文件的绝对路径名。


    还值得注意的是,Java 6 和 Java 7 都通过了 EOL,您应该真正升级您的应用程序以使用 Java 8。特别是如果您使用 Java 来运行网络公开服务...或 (> >颤抖

    【讨论】:

      【解决方案2】:

      您的 root 登录名的 PATH 环境变量设置可能与您的 ssh 登录 shell 不同。

      which java 可能会(取决于您使用的 shell)告诉您哪个 java 二进制文件在您的 PATH 中是第一个。

      【讨论】:

      • 谢谢马克,现在我明白了,但是如何设置我的 linux 以获取与 root 环境变量相同的 ssh 环境变量。因为,让我感到困惑的是,我也 ssh 了 root 用户。
      • 这取决于您如何成为root:普通本地登录、su rootsu - root。每个都将运行不同的 shell 初始化脚本。
      猜你喜欢
      • 2012-06-09
      • 2014-02-01
      • 2021-08-26
      • 1970-01-01
      • 2015-11-16
      • 2019-01-12
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多