Ubuntu 11.10下安装Java

升级到ubuntu 11.10之后,由于库里没有sun-java6-jdk,需要自行安装。因此,到Oracle网站下载了Java 6u27(为什么不下java7呢?因为目前支持的软件不多,另外如果真要的话,也可以很方便的切换到Java7),然后就可以开始手动安装了。

首先创建Java的目录,然后将下载下来的文件解压到该目录中:

$ cd 你希望安装的目录
$ chmod a+x jdk-6u27-linux-i586-rpm.bin
$ ./jdk-6u27-linux-i586-rpm.bin

其次设置环境变量,主要是PATH、CLASSPATH和JAVA_HOME,注意PATH最后所添加的bin目录:

$ sudo vi /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/haha/java/jdk/jdk1.6.0_27/bin"

CLASSPATH="/home/haha/java/jdk/jdk1.6.0_27/lib"

JAVA_HOME="/home/haha/java/jdk/jdk1.6.0_27"


然后就是要告诉系统,我们使用的sun的JDK,而非OpenJDK了:

$ sudo update-alternatives --install /usr/bin/java java /home/haha/java/jdk/jdk1.6.0_27/bin/java 300

$ sudo update-alternatives --install /usr/bin/javac javac /home/haha/java/jdk/jdk1.6.0_27/bin/javac 300

$ sudo update-alternatives --config java

有 2 个候选项可用于替换 java (提供 /usr/bin/java)。


  选择       路径                                    优先级  状态

------------------------------------------------------------

  0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      自动模式

  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      手动模式

* 2            /usr/lib/jvm/java-6-sun/bin/java           300       手动模式



要维持当前值
  • 请按回车键,或者键入选择的编号:2

  • 如上所示,这样就设置好了要使用的java了。最后我们验证一下:

    $ java -version

    java version "1.6.0_27"

    Java(TM) SE Runtime Environment (build 1.6.0_27-b07)

    Java HotSpot(TM) Server VM (build 20.2-b06, mixed mode)


    若执行java -version后,显示
    Error occurred during initialization of VM java/lang/NoClassDefFoun

    则先检查,并确保配置的路径正确,再查看 /lib目录和/jre/lib目录中的tools.jar、rt.jar的后缀是否为.pack

    对.pack文件来说,可以使用/bin目录里的unpack200命令来解压

    $ /java/jdk/jdk1.6.0_27/bin$ unpack200 ./lib/tool.pack ./lib/tool.jarError: Could not open input file: ./lib/tool.pack

    $ /java/jdk/jdk1.6.0_27/bin$ unpack200 ../lib/tools.pack ../lib/tools.jar

    $ /java/jdk/jdk1.6.0_27/bin$ unpack200 ../jre/lib/rt.pack ../jre/lib/rt.jar

    之后就哦了
    $ /java/jdk/jdk1.6.0_27/bin$ java -version

    java version "1.6.0_27"
    Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
    Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)



    猜你喜欢

    转载自zuzong.iteye.com/blog/1202132