【问题标题】:incorrect java version in linuxlinux中的java版本不正确
【发布时间】:2011-02-08 16:22:01
【问题描述】:

我在 RedHat 5 上安装了 JDK 1.5 并在 bash_profile 中设置 JAVA_HOME 和 PATH 的路径。 但是 java -version 仍然显示 1.4

感谢任何人有解决此问题的解决方案。

【问题讨论】:

  • 那你还没有完成。始终检查“type java”。
  • 您现在可能安装了多个 java 版本。查看所有 java 版本的位置:whereis java

标签: java


【解决方案1】:

可以使用 /usr/sbin/alternatives 函数管理 JRE:

alternatives --config java

...将生成一个类似于以下内容的列表:

有 2 个程序提供“java”。

  Selection    Command
-----------------------------------------------
   1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
*+ 2           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java

Enter 以保留当前选择[+],或输入选择编号:

  • 按照说明通过输入其选择编号来选择不同的 JRE 默认值,或按“Enter”键退出提示。
  • 选择编号左侧的“+”表示当前选择了哪个 JRE。

如果您进行 Java 开发,请重复“javac”。

【讨论】:

  • @Laki:你是如何安装 1.5 的?听起来不像是yum
  • 我安装了 weblogic 服务器。它带有 JDK 1.5
【解决方案2】:

您应该使用update-alternatives 来设置java 的首选版本。见this

【讨论】:

  • update-alternatives 在 Redhat 上可用吗?我一直认为它是一个 Debian 工具,因此只能在基于 Debian 的发行版上使用。
  • @Joachim Sauer:是的 - 它是由他们创建的:alternatives is copyright 2002 Red Hat, Inc
  • 哦,我明白了,那么它是一个名称相似的不同软件。 Debian update-alternatives 拥有版权 1995、200-2002 和 2009。
  • @Joachim Sauer:他们选择了同一个名字很奇怪(而且令人困惑)!它们甚至看起来工作起来非常相似并且共享同一个目录 (/etc/alternatives) - 可能发生了一些分叉。
【解决方案3】:

编辑.bash_profile 后,您需要获取它(使用“.”内置)或注销并再次登录。 (如果知道这个道歉......)

【讨论】:

  • 我已经这样做了。问题是 echo $PATH 和 echo $JAVA_HOME 给出了 1.5 版本,但 Java -version 仍然给出了 1.4
  • @Laki - 如果 $PATH 和 $JAVA_HOME 设置正确,这是不可能的......除非你以某种方式获得了一个名为“java”的别名或shell函数。运行“type java”并查看命令解析为什么。
【解决方案4】:

解决了这个问题。

哪个java /usr/bin/java

ls -la /usr/bin/java lrwxrwxrwx 1 root root 22 Jan 6 00:24 /usr/bin/java -> /etc/alternatives/java

ls -la /etc/alternatives/java /etc/alternatives/java -> /appl01/bea/jdk150_22/jre/bin/java

这是链接到 jre 1.4。修改为指向 jre 1.5 并且可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 2023-01-16
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多