linux下安装配置jdk7

时间:2022-02-23 01:00:52

在linux下配置jdk也是搞得我一头雾水啊,刚刚接触linux,总是处处碰壁,不过学了很多东西。下面就来分享一下我安装的过程吧,也提供给刚入门linux的童鞋参考一下。之前是已经装过,可是出现问题,就中途放弃了,改用gcj,可是gcj真的是不好用,就想说卸载,网上查的方法都试过了就是卸载不了,无语。所以打算直接下载一个覆盖了他。(后来删除是直接用rm -f /usr/bin/java这个方法直接删了指令,效果还是有的,所以就直接可以装新的)

以下步骤请全程用用户下进行不要进入root下

1.先去Oracle官网下载java的jdk,版本自选吧,我选的是jdk7。要看清楚自己的系统是几位的,别下载错了,查看几位的方法是uname -a ,就可以看到是几位的系统了。接着有两个下载的文件,一个是rpm的,一个是tar.gz的,任选吧。建议下载tar.gz。等待下载完。

2.(1)如果下载的是tar.gz则解压文件到/usr/lib下

sudo tar zxvf  jdk-7u79-linux-i586.tar.gz  -C /usr/lib  
重命名文件夹jdk7

cd /usr/lib  
sudo mv jdk1.7.0_79 jdk7

(2如果下载的是rpm的,可以现在根目录下的usr文件夹中建立一个java文件夹,方便存放jdk文件夹。先将它转为deb文件(软件包)再进行安装,命令如下,解压什么的时候记得耐心等待,别着急

//如果没有使用过alien这个命令就先安装
sudo apt-get install alien
//这时候解压出deb文件
sudo alien XXXX.rpm
//安装deb文件
sudo dpkg -i xxxxx.deb

搞定之后和上述一样,移动到/usr/lib下,改名位jdk7,要在安装的那个目录下哦

sudo mv jdk1.7.0_79 /usr/lib /jdk7 

3.配置环境变量

gedit ~/.bashrc  
在文档的最后增加下面几句

export JAVA_HOME=/usr/lib/jdk7  
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

 
最后保存关闭,使命令生效,语句如下 

source ~/.bashrc 

4.这时候算是装完了,输入java-version试一下,到这里成功的就不用继续看了。不成功就继续看吧。

竟然是出现下面的,也就是gcj。

java version "1.5.0"
gij (GNU libgcj) version 4.8.2
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

上网查了一下,用which java查到这个命令的源头/usr/bin/java,于是乎屁颠屁颠去到目标位置已查看

lrwxrwxrwx 1 root root 22  4月  2 17:43 /usr/bin/java -> /etc/alternatives/java

原来是这个家伙搞的鬼alternatives->这个是因为系统中有多个可以选择的命令,他就进行一个默认的选择。这时我们只要修改它的指向即可,但是要注意的是,如果alternatives用不了,就用update-alternatives代替,是一样的效果的,来试一下换指向,命令如下

update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_79/bin/java 300

update-alternatives --config java

这时候出现一下表格,直接选择就好了。

选择       路径                          优先级  状态
------------------------------------------------------------
* 0            /usr/bin/gij-4.8                 1048      自动模式
  1            /usr/bin/gij-4.8                 1048      手动模式
  2            /usr/java/jdk1.7.0_79/bin/java   300       手动模式

4.这个是rpm的时候出现的问题,试一次java-version,变成下面那样了,无语了

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

原来这个问题是在安装deb文件的时候,里面有两个重要文件没解压,一个是lib下的tools.pack,一个是jre/lib下的rt.pack。利用命令unpack200 XXX.pack XXX.jar就可以将它们转换成tools.jar和rt.jar这样就大功告成,这里有一个问题就是unpack200找不到命令,这时去到jdk文件下的bin中可以看到这个指令,用全路径去执行它就可以了。

再试一次

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) Server VM (build 24.79-b02, mixed mode)

大功告成!