转载自: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位的JDK,64位的就下64位的JDK。Linux x86是32位JDK,Linux x64是64位JDK。
Linux下的JDK安装包现有两种格式.rpm和.tar.gz。rpm是redhat红帽的标准安装包,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,否则没有安装。命令行:
[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)
查找名字包含java,jdk的已安装程序。查找到了,已经安装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命令。命令行:
[root@localhost Desktop]# rpm -e jdk-1.7.0_79-fcs.x86_64
批量卸载所有名字包含jdk的已安装程序。命令行:
[root@localhost Desktop]# rpm -qa | grep jdk | xargs rpm -e --nodeps
批量卸载所有名字包含java的已安装程序。命令行:
[root@localhost Desktop]# rpm -qa | grep java | xargs rpm -e --nodeps
卸载后,查看JDK版本,已无信息,卸载成功。命令行:
[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。
给安装包添加权限。命令行:
[root@localhost Desktop]# chmod 755 jdk-7u79-linux-x64.rpm
使用rpm -ivh xxx命令安装JDK。命令行:
[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生成java、javac等JDK的快捷方式图标,这些图标会链接指向到/usr/java/jdk1.7.0_79中。用echo $PATH查看环境变量,可以看到/usr/bin是加入了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文件夹,命令行:
[root@localhost Desktop]# mkdir /usr/java
进入JDK压缩包所在目录,将压缩包复制到java文件夹中。复制文件用cp xxx命令,复制文件夹用cp -r xxx,命令行:
[root@localhost Desktop]# cp jdk-7u79-linux-x64.gz /usr/java
然后返回到根目录,再进入java目录,命令行:
[root@localhost Desktop]# cd /
[root@localhost Desktop]# cd /usr/java
压缩包解压,命令行:
[root@localhost Desktop]# tar xvf jdk-7u79-linux-x64.gz
删除压缩包,输入yes确认删除。命令行:
[root@localhost java]# rm jdk-7u79-linux-x64.gz
rm: remove regular file `jdk-7u79-linux-x64.gz'? yes
设置对所有用户有效方式:修改/etc/profile文件设置系统变量,设置jdk环境变量,该方式对所有用户有效。
使用VI编辑,输入命令,回车确认。命令行:
[root@localhost Desktop]# vi /etc/profile
打开之后在文件末尾添加下面配置。通过鼠标滑轮滚动到文件末尾,上下左右方向键控制光标输入位置。
配置好后,按Esc退出,按Shift加英文冒号shift + : 然后输入wq,按Enter回车键确认。取消编辑按Ctrl+z。
使profile配置生效。命令行:
[root@localhost Desktop]# source /etc/profile
设置对当前用户有效方式:修改.bashrc文件设置用户变量,设置jdk环境变量,该方式仅对当前用户有效,对其它用户无效,其它用户没有运行java命令的权限。命令行:
[root@localhost Desktop]# vi ~/.bashrc
在bashrc文件中添加下面配置。按Insert键进入编辑状态。
使bashrc配置生效。命令行:
[root@localhost Desktop]# source ~/.bashrc
配置好后,按Esc退出,按Shift加英文冒号shift + : 然后输入wq,按Enter回车键确认。取消编辑按Ctrl+z。
设置对某个用户有效:如果要使JDK对某个用户有效,某个用户具有运行java命令的权限,修改该用户的.bashrc文件。
例如:ROOT用户给dodobook2用户名运行java命令的权限。
[root@LinuxServer root]# vi /home/dodobook2/.bashrc
在bashrc文件中添加下面配置。按Insert键进入编辑状态。
如果当前登录用户是dodobook2,使用vi ~/.bashrc命令编辑修改。
[dodobook2@localhost Desktop]# vi ~/.bashrc
使用echo $JAVA_HOME、echo $CLASSPATH、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版本。命令行:
[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命令是否可用。命令行:
[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键进入编辑状态。命令行:
[root@localhost Desktop]# vi test.java
class test
{
public static void main(String[]args)
{
System.out.println("Hello World!");
}
}
写好后,按Esc退出,按Shift加英文冒号shift + : 然后输入wq,按Enter回车键确认。
编译运行。命令行:
[root@localhost Desktop]# javac test.java
[root@localhost Desktop]# java test
Hello World!
新新:http://blog.csdn.NET/xinxin19881112/article/details/46816385