Linux会自带JDK,如果不使用自带版本的话需要卸载。
1、卸载系统自带的jdk版本
查看自带的jdk
#rpm -qa | grep gcj
看到如下信息:
libgcj-4.1.2-44.el5
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
使用rpm -e --nodeps 命令删除上面查找的内容:
#rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
二、安装jdk
bin是二进制包,而rpm是redhat package 就是红帽的标准安装包
区别就是rpm安装的时候给你自动配置,一般都是lib安装到/usr/lib bin安装到/usr/bin下边,就算不是,在/usr/bin下也要建立一个软连接。
而二进制包你可以手动配置,像我这样的初学者就不要用bin包了
jdk-6-dlj-linux-i586.bin
然后将安装文件放到:/usr/java目录下,修改权限,命令如下(需先用cd命令切换到相应目录下):
# chmod u+x ./jdk-6-dlj-linux-i586.bin执行文件的安装:
# ./jdk-6-dlj-linux-i586.bin
这时会有一段Sun的协议,敲几次空格键,当询问是否同意的时候,敲yes就可以了。
第三步:配置环境变量
<1># vi /etc/profile
<2>在最后加入以下几行:
export JAVA_HOME=/usr/java/jdk1.6.0
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
<3># source /etc/profile 执行后生效
第四步:测试JDK
#vi hello.java
public class hello {
public static void main(String args [ ])
{
System.out.println("Hello World!");
}
}
# javac hello.java
# java hello
Hello World!
备注:
安装完成后,运行java -verseion 报错:Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
解决:
就是lib和jre/lib文件夹中的rt和tools是否是打包后的形式
如果发现rt.pack 和 tools.pack 那么多半问题就出在这里
解决方法也很简单,只要将相应文件解压成rt.jar 和 tools.jar
可以使用bin里面的unpack200工具
如:unpack200 rt.pack rt.jar
解压后java -version应该就没有问题了~~