linux下jdk卸载与安装

时间:2022-08-17 15:11:10


转载自:https://my.oschina.net/liting/blog/358498       http://blog.csdn.net/xinxin19881112/article/details/46816385  两位大神

一、查看Jdk的安装路径:

 

whereis java
which java (java执行路径)
echo $JAVA_HOME

echo $PATH

 

备注:如果是windows中,可以使用:

set java_home:查看JDK安装路径
java -version:查看JDK版本

 

二、卸载旧版本的JDK:

 

1. 确定JDK的版本:

rpm -qa | grep jdk

rpm -qa | grep gcj

 

可能的结果是:

libgcj-4.1.2-42.el5 
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 

 

2.然后卸载

 yum -y remove java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

如果这中方法不行,可以使用如下的方法卸载:

 

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 

2)卸载rpm安装的jkd版本 
   查看安装的jdk: 
   #rpm -qa|grep jdk 
   可能看到如下类似的信息: 
   jdk-1.6.0_22-fcs 
   卸载: 
   #rpm -e --nodeps jdk-1.6.0_22-fcs   

 

3)找到jdk安装目录的_uninst子目录

·在shell终端执行命令./uninstall.sh即可卸载jdk

 

三、下载新版本的JDK

官方地址: http://www.oracle.com/technetwork/java/javase/downloads/index.htm

 

四、安装JDK(以JDK1.6为例子)

1、jdk1.6提供以下两种自解压文件: 
   1)jdk-6u22-linux-i586.bin 
   2)jdk-6u22-linux-i586-rpm.bin 
2、我下载的是jdk-6u22-linux-i586-rpm.bin 
3、给所有用户添加可执行的权限 
   #chmod +x jdk-6u22-linux-i586-rpm.bin 
4、执行该文件,命令如下: 
   #./jdk-6u22-linux-i586-rpm.bin 
   执行后会解压出一些rpm软件包,其中有jdk-6u22-linux-i586.rpm这是主程式包,接下来就是安装这个主程序包。 
5.、切换到root用户,进入jdk-6u22-linux-i586.rpm存放的目录,执行如下命令: 
    rpm -ivh jdk-6u22-linux-i586.rpm 
   安装软件会将JDK自动安装到 /usr/java/jdk-1.6.0_22-fcs目录下

在linux上安装时,常常会碰到如下的Fail:

RPM should not be used directly install RPM packages, use Alien instead!

这时用这个命令即可:

 rpm -ivh jdk-6u22-linux-i586.rpm --nodeps --force

 

五、配置环境变量:

 如果所有用户都想共享jdk的环境变量,可以通过如下方式设置。 

   (但建议最好不要这样,万一有其他用户使用其他JDK就会受到影响。) 
    在/etc/profile文件中加入: 
  # vi /etc/profile    
  export JAVA_HOME=/usr/java/jdk-1.6.0_22-fcs 
  export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
  export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin 

   注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。 
  记得CLASSPATH路径中加入$CLASSPATH:不然可能在解释执行class文件时会报错。

 当然也可以用更加彻底的方法:reboot命令来重启机器。

 

        有时你可能会发现/etc/profile中配置的环境变量在系统重新启动或者重新使用SSH连接后失效了,其原因有可能是

        1. 某个非root用户下环境变量是生效的,但是切换到root用户后,使用javac等命令失效。

        2.入到/etc/profile的环境变量在重新启动后会自动生效。未重新启动之前每次打开终端都需如你所述执行source命令。

 

附: 怎样安装tar类型的JDK:

 

首先将*.tar.gz解压

tar -xzvf *.tar.gz

假设得到的文件夹为java

将其移动到/usr/中

sudo mv java /usr/local

然后设置环境变量:

sudo vim /etc/profile

打开文件

在结尾处输入:

export JAVA_HOME=/usr/local/java export JRE_HOME=/usr/local/java/jre  export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

Ubuntu 中修改默认jdk

update-alternatives --install /usr/bin/java java /usr/localjava/bin/java 300 update-alternatives --install /usr/bin/javac javac /usr/local/java/bin/javac 300

通过这一步将我们安装的jdk加入java选单。

update-alternatives --config java

选择默认的jdk

java -version


CentOS 6.6安装JDK1.7

目录

1、下载JDK

2、卸载JDK

3、安装JDK

3.1.rpm后缀格式JDK安装方式

3.2.tar.gz后缀格式JDK安装方式

4、验证安装


1、下载JDK

根据操作系统的位数下载对应的JDK,操作系统是32位的就下32位的JDK64位的就下64位的JDKLinux x8632JDKLinux x6464JDK

Linux下的JDK安装包现有两种格式.rpm.tar.gzrpmredhat红帽的标准安装包,rpm安装时会自动配置。

本安装示例在CentOS 6.6系统下进行,其它类型Linux系统安装方式相同,下载的JDK版本为1.7.0_79,对.rpm.tar.gz安装方式分别说明,本处已下载两种格式的文件。

jdk-7u79-linux-x64.rpm

jdk-7u79-linux-x64.tar.gz

下载地址:http://www.Oracle.com/technetwork/Java/javase/downloads/jdk7-downloads-1880260.html

 

2、卸载JDK

查看系统是否已安装JDK。一般的linux都默认使用了开源的openJDK。显示JDK版本信息,已经安装JDK,否则没有安装。命令行:

[plain] view plain copy
  1. java -version  

[root@localhost Desktop]# java -version

java version "1.7.0_79"

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

 

查找名字包含javajdk的已安装程序。查找到了,已经安装JDK,否则没有安装。命令行:

[plain] view plain copy
  1. rpm -qa | grep java  
  2. rpm -qa | grep jdk  

[root@localhost Desktop]# rpm -qa | grep java

[root@localhost Desktop]# rpm -qa | grep jdk

jdk-1.7.0_79-fcs.x86_64

 

已安装JDK,卸载系统上JDK

单个卸载程序,使用rpm -e xxx命令。命令行:

[plain] view plain copy
  1. rpm -e jdk-1.7.0_79-fcs.x86_64  

[root@localhost Desktop]# rpm -e jdk-1.7.0_79-fcs.x86_64

批量卸载所有名字包含jdk的已安装程序。命令行:

[plain] view plain copy
  1. rpm -qa | grep jdk | xargs rpm -e --nodeps  

[root@localhost Desktop]# rpm -qa | grep jdk | xargs rpm -e --nodeps

批量卸载所有名字包含java的已安装程序。命令行:

[plain] view plain copy
  1. rpm -qa | grep java | xargs rpm -e --nodeps  

[root@localhost Desktop]# rpm -qa | grep java | xargs rpm -e --nodeps

 

卸载后,查看JDK版本,已无信息,卸载成功。命令行:

[plain] view plain copy
  1. java -version  

[root@localhost Desktop]# java -version

bash: /usr/bin/java: No such file or directory

 

3、安装JDK

3.1.rpm后缀格式JDK安装方式

安装jdk-7u79-linux-x64.rpm

给安装包添加权限。命令行:

[plain] view plain copy
  1. chmod 755 jdk-7u79-linux-x64.rpm  

[root@localhost Desktop]# chmod 755 jdk-7u79-linux-x64.rpm

 

使用rpm -ivh xxx命令安装JDK。命令行:

[plain] view plain copy
  1. rpm -ivh jdk-7u79-linux-x64.rpm  

[root@localhost Desktop]# rpm -ivh jdk-7u79-linux-x64.rpm

Preparing...                ########################################### [100%]

   1:jdk                    ########################################### [100%]

Unpacking JAR files...

rt.jar...

jsse.jar...

charsets.jar...

tools.jar...

localedata.jar...

jfxrt.jar...

 

安装.rpm格式后缀的JDK不需要配置java环境变量,会自动配置,会在/usr/bin生成javajavacJDK的快捷方式图标,这些图标会链接指向到/usr/java/jdk1.7.0_79中。用echo $PATH查看环境变量,可以看到/usr/bin是加入了PATH环境变量中的。命令行:

[plain] view plain copy
  1. echo $PATH  

[root@localhost Desktop]# echo $PATH

/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

 

 

3.2.tar.gz后缀格式JDK安装方式

安装jdk-7u79-linux-x64.tar.gz

/usr目录下新建java文件夹,命令行:

[plain] view plain copy
  1. mkdir /usr/java  

[root@localhost Desktop]# mkdir /usr/java

 

进入JDK压缩包所在目录,将压缩包复制到java文件夹中。复制文件用cp xxx命令,复制文件夹用cp -r xxx命令行:

[plain] view plain copy
  1. cp jdk-7u79-linux-x64.gz /usr/java  

[root@localhost Desktop]# cp jdk-7u79-linux-x64.gz /usr/java

 

然后返回到根目录,再进入java目录,命令行:

[plain] view plain copy
  1. cd /  
  2. cd /usr/java  

[root@localhost Desktop]# cd /

[root@localhost Desktop]# cd /usr/java

 

压缩包解压,命令行:

[plain] view plain copy
  1. tar xvf jdk-7u79-linux-x64.gz  

[root@localhost Desktop]# tar xvf jdk-7u79-linux-x64.gz

 

删除压缩包,输入yes确认删除。命令行:

[plain] view plain copy
  1. rm jdk-7u79-linux-x64.gz  

[root@localhost java]# rm jdk-7u79-linux-x64.gz

rm: remove regular file `jdk-7u79-linux-x64.gz'? yes

 

设置对所有用户有效方式:修改/etc/profile文件设置系统变量,设置jdk环境变量,该方式对所有用户有效。

使用VI编辑,输入命令,回车确认。命令行:

[plain] view plain copy
  1. vi /etc/profile  

[root@localhost Desktop]# vi /etc/profile

 

打开之后在文件末尾添加下面配置。通过鼠标滑轮滚动到文件末尾,上下左右方向键控制光标输入位置。

[plain] view plain copy
  1. export JAVA_HOME=/usr/java/jdk1.7.0_79  
  2. export JRE_HOME=$JAVA_HOME/jre  
  3. export PATH=$PATH:$JAVA_HOME/bin  
  4. export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  

 

配置好后,按Esc退出,按Shift加英文冒号shift + :  然后输入wq,按Enter回车键确认。取消编辑按Ctrl+z

使profile配置生效。命令行:

[plain] view plain copy
  1. source /etc/profile  

[root@localhost Desktop]# source /etc/profile

 

设置对当前用户有效方式:修改.bashrc文件设置用户变量,设置jdk环境变量,该方式仅对当前用户有效,对其它用户无效,其它用户没有运行java命令的权限。命令行:

[plain] view plain copy
  1. vi ~/.bashrc  

[root@localhost Desktop]# vi ~/.bashrc

bashrc文件中添加下面配置。Insert键进入编辑状态。

[plain] view plain copy
  1. export JAVA_HOME=/usr/java/jdk1.7.0_79  
  2. export JRE_HOME=$JAVA_HOME/jre  
  3. export PATH=$PATH:$JAVA_HOME/bin  
  4. export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  

 

使bashrc配置生效。命令行:

[plain] view plain copy
  1. source ~/.bashrc  

[root@localhost Desktop]# source ~/.bashrc

配置好后,按Esc退出,按Shift加英文冒号shift + :  然后输入wq,按Enter回车键确认。取消编辑按Ctrl+z

 

设置对某个用户有效:如果要使JDK对某个用户有效,某个用户具有运行java命令的权限,修改该用户的.bashrc文件。

例如:ROOT用户给dodobook2用户名运行java命令的权限。

[plain] view plain copy
  1. vi /home/dodobook2/.bashrc  

[root@LinuxServer root]# vi /home/dodobook2/.bashrc

bashrc文件中添加下面配置。Insert键进入编辑状态。

[plain] view plain copy
  1. export JAVA_HOME=/usr/java/jdk1.7.0_79  
  2. export JRE_HOME=$JAVA_HOME/jre  
  3. export PATH=$PATH:$JAVA_HOME/bin  
  4. export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  

如果当前登录用户是dodobook2,使用vi ~/.bashrc命令编辑修改。

[plain] view plain copy
  1. vi ~/.bashrc  

[dodobook2@localhost Desktop]# vi ~/.bashrc

 

使用echo $JAVA_HOMEecho $CLASSPATHecho $PATH查看环境变量配置。

[plain] view plain copy
  1. echo $JAVA_HOME  
  2. echo $CLASSPATH  
  3. echo $PATH  

[root@localhost Desktop]# echo $JAVA_HOME

/usr/java/jdk1.7.0_79

[root@localhost Desktop]# echo $CLASSPATH

./:/usr/java/jdk1.7.0_79/lib:/usr/java/jdk1.7.0_79/jre/lib

[root@localhost Desktop]# echo $PATH

/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/java/jdk1.7.0_79/bin:/root/bin:/usr/java/jdk1.7.0_79/bin

 

 

4、验证安装

安装完成后,查看JDK版本。命令行:

[plain] view plain copy
  1. java -version  

[root@localhost Desktop]# java -version

java version "1.7.0_79"

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

 

测试javac命令是否可用。命令行:

[plain] view plain copy
  1. javac  

[root@localhost Desktop]# javac

Usage: javac <options> <source files>

where possible options include:

  -g                         Generate all debugging info

  -g:none                    Generate no debugging info

  -g:{lines,vars,source}     Generate only some debugging info

  -nowarn                    Generate no warnings

  -verbose                   Output messages about what the compiler is doing

  -deprecation               Output source locations where deprecated APIs are used

  -classpath <path>          Specify where to find user class files and annotation processors

  -cp <path>                 Specify where to find user class files and annotation processors

  -sourcepath <path>         Specify where to find input source files

  -bootclasspath <path>      Override location of bootstrap class files

  -extdirs <dirs>            Override location of installed extensions

  -endorseddirs <dirs>       Override location of endorsed standards path

  -proc:{none,only}          Control whether annotation processing and/or compilation is done.

  -processor <class1>[,<class2>,<class3>...] Names of the annotation processors to run; bypasses default discovery process

  -processorpath <path>      Specify where to find annotation processors

  -d <directory>             Specify where to place generated class files

  -s <directory>             Specify where to place generated source files

  -implicit:{none,class}     Specify whether or not to generate class files for implicitly referenced files

  -encoding <encoding>       Specify character encoding used by source files

  -source <release>          Provide source compatibility with specified release

  -target <release>          Generate class files for specific VM version

  -version                   Version information

  -help                      Print a synopsis of standard options

  -Akey[=value]              Options to pass to annotation processors

  -X                         Print a synopsis of nonstandard options

  -J<flag>                   Pass <flag> directly to the runtime system

  -Werror                    Terminate compilation if warnings occur

  @<filename>                Read options and filenames from file

 

 

还可以写段代码测试下。用VI编辑java代码测试JDK是否能正常编译。按Insert键进入编辑状态。命令行:

[plain] view plain copy
  1. vi test.java  
[plain] view plain copy
  1. class test  
  2. {  
  3.    public static void main(String[]args)  
  4.    {  
  5.       System.out.println("Hello World!");  
  6.    }  
  7. }  

[root@localhost Desktop]# vi test.java

class test

{

   public static void main(String[]args)

   {

      System.out.println("Hello World!");

   }

}

 

写好后,按Esc退出,按Shift加英文冒号shift + :  然后输入wq,按Enter回车键确认。

编译运行。命令行:

[plain] view plain copy
  1. javac test.java  
[plain] view plain copy
  1. java test  

[root@localhost Desktop]# javac test.java

[root@localhost Desktop]# java test

Hello World!


新新:http://blog.csdn.NET/xinxin19881112/article/details/46816385