首先创建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 手动模式
要维持当前值
如上所示,这样就设置好了要使用的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)