现在我已经用这引用安装了jdk。根据这一点,我必须将jdk目录添加到PATH变量中,并通过update-alternatives添加另一个选项。我已经做过了,一切都很好。但是有一件事我不清楚:当我输入which java bash时,我只返回/usr/bin/java,但是没有告诉任何关于usr/bin/jvm/java-6-oracle/bin的信息,尽管这个文件夹在PATH变量中,正如我所看到的,bash应该在那里找到java并在输出中提到它。有人能解释为什么会有这样的“阴影”吗?
谢谢。
发布于 2012-12-14 02:12:16
/usr/bin/java实际上是一个指向/etc/alternatives/java的符号链接,它本身就是一个指向实际java二进制文件的符号链接。update-alternatives脚本更改/etc/alternatives/java链接到的位置。通过运行update-alternatives,/usr/bin/java将结束与/usr/bin/jvm/java-6-oracle/bin/java的符号链接。
which java返回/usr/bin/java的原因是,/usr/bin位于/usr/bin/jvm/java-6-oracle/bin之前的PATH上。如果您运行which -a java,它应该同时显示/usr/bin/java和/usr/bin/jvm/java-6-oracle/bin/java。
https://askubuntu.com/questions/228733
复制相似问题