linux 安装JDK

 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是二进制包,而rpmredhat 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应该就没有问题了~~

原文地址:https://www.cnblogs.com/future2012lg/p/2728498.html