ubuntu 12.10安装后无法识别JDK

ubuntu 12.10安装后无法识别JDK

我按照以下步骤操作,没有出现错误:

  1. JDK 路径:Downloads/jdk-6u37-linux-x64.bin

  2. 终端中的命令:

           mkdir Programs
           cd Programs
           bash ../Downloads/jdk-6u37-linux-x64.bin
           ln -s jdk-6u37-linux-x64 jdk
    
  3. 设置 JAVA_HOME 和 Path:->查看菜单->显示隐藏文件。然后在文本编辑器中打开.bashrc。我在文件末尾添加了以下几行。

    export JAVA_HOME=$Home/Programs/jdk
    export PATH=:$JAVA_HOME/bin:$PATH
    

这是执行命令的结果

echo $JAVA_HOME :
/Programs/jdk

这是执行命令的结果

echo $PATH :
:/Programs/jdk/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games1

问题是:这是执行命令 java -version 的结果:

程序‘java’可以在以下包中找到:
 * 默认-jre
 * gcj-4.6-jre-headless
 * gcj-4.7-jre-headless
 * openjdk-7-jre-headless
 * openjdk-6-jre-headless
尝试:sudo apt-get install

答案1

您需要使用 update-alternatives 来更新软链接确定命令。

例如:

    sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.6.0_37/bin/java" 1
    sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.6.0_37/jre/bin/java" 2

在你的情况下,它是 $Home/Programs/jdk 而不是 /opt/jdk1.6.0_37

注意如果从手动删除的先前版本更新,请执行上述命令两次,因为第一次会收到错误消息。

然后将新的 JRE 设置为默认:

    sudo update-alternatives --set java /opt/java/jdk1.6.0_37/bin/java

或者

    sudo update-alternatives --config java

例子:

root@ubuntu:/opt# update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
* 1            /opt/jdk1.6.0_37/bin/java                        1         manual mode
  2            /opt/jdk1.6.0_37/jre/bin/java                    2         manual mode
  3            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode

运行 java -version 确认 java 版本

注意:我建议使用 Github 上的 oab-java bash 脚本。

https://github.com/flexiondotorg/oab-java6

答案2

export JAVA_HOME=$Home/Programs/jdk

您应该使用 $HOME,因为 $Home 未定义。

例如

export JAVA_HOME=$HOME/Programs/jdk

相关内容