按:我们身处一个信息爆炸的年代,当有事不决时,打开搜索引擎瞬息间就能得到海量的答案。但是,这未必会让你的问题迎刃而解,因此很多“答案”会把你引向错误的方向,浪费你的时间。希望搜索引擎能有所改进,对明确的问题只给出唯一的标准答案就好了,因为错误的答案再多有什么用呢,经历过高考的都知道答不到点子上乱凑字数是无济于事的,希望谷歌百度的程序员们能好好想想。好了,下面进入正题。

任务,将jdk-7u25-linux-i586.rpm安装在Red Hat Linux Fedora 8机器上,并以它为新的JDK。

环境:Linux version 2.6.23.1-42.fc8,gcc version 4.1.2 20070925

第一步,去下面地址寻找并下载jdk-7u25-linux-i586.rpm。

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

第二步,将dk-7u25-linux-i586.rpm用U盘拷贝到Fedora8所在机器上,Fedora8比较smart,U盘插上一会就认出来了,不像原来Linux7.2加载任何外联设备都要mount,拿走再unmount,特烦人特耽误事,于是将文件拷贝到某个目录下,我本地是/home/usrname。

第三步,在/home/usrname下执行rpm -ivh jdk-7u25-linux-i586.rpm,系统报error:Can't create transaction lock on /var/lib/rpm/_db.000,让人一头雾水。于是,换root用户执行rpm -ivh jdk-7u25-linux-i586.rpm试试,诶,这回顺利开始安装了。这报错信息怎么和用户权限没关系呢?看来Linux报错信息和DOS报错信息一样,凡是用C做底层的软件报错都一个尿性。完成后,新的JDK被安到了/usr/java下,你可以去查看查看。

第四步,执行java -version,显示build 1.7.0-b21字样,说明安装初步成功了。其实这个还不能算是一步,只是对前面步骤的检验。

但是,以上步骤还只是成功了一半,我被汗牛充栋的网文误导了不少时间后,才总结出下面正确的步骤。

第五步,用VI修改/etc/profile,在末尾处添加这样一段:
export JAVA_HOME=/usr/java/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

这里相当于我们在Win系统中环境变量的走法。先是设置JAVA_HOME,再是CLASSPATH和PATH。可恨有些大站里面的网文,连这三个单词都搞出拼写错误。有些误导网文有潜在BUG,到后面就运行不正常了,需要注意。

第六步,完成后,这些变量不会立即生效,你可以reboot机器,这比较浪费时间,也不推荐。最好可以执行命令 #source profile,注意是在/etc目录下以root用户来执行,执行完这些变量就设置好了。

你可以分别执行echo $JAVA_HOME,echo $CLASSPATH,$echo $PATH这三个命令,以确认它们设置完了。

[root@localhost etc]# echo $JAVA_HOME
/usr/java/jdk1.7.0_25
[root@localhost etc]# echo $PATH
/usr/java/jdk1.7.0_25/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_25/bin:/root/bin:/usr/java/jdk1.7.0_25/bin
[root@localhost etc]# echo $CLASSPATH
.:/usr/java/jdk1.7.0_25/lib/dt.jar:/usr/java/jdk1.7.0_25/lib/tools.jar

另外执行java -version的效果如下:

[root@localhost etc]# java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15) 注意这里已经与第四步不同了。

第七步,用VI或其它文本编辑器做一个java类,里面输出一条文字,类似下面的类:

class Hello{
    public static void main(String[] args){
         System.out.println("Hello!World");
    }
}

第八步,用命令#javac Hello.java生成Hello.class,生产后用ls查看下。

第九步,用命令#java Hello,如果终端里输出Hello!World,那就说明类执行正确,表明JDK安装完全成功了。这一步才是JDK安装完全成功的标志!之前java -version ,java,javac的执行效果都不能作数的,有些书籍网文把它们的输出当JDK安装成功标志,这是很不对的。

注意事项:

1.安装前需要检查系统是否已经安装了其它版本的JDK,可以参考以下流程检查:

(来自http://www.th7.cn/system/lin/201307/42216.shtml)

[root@localhost /]# java -version

java version "1.4.2"

gij (GNU libgcj) version 4.1.2 20080704 (Red Hat 4.1.2-51)

Copyright (C) 2006 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.

查看自带的JDK的相关信息

[root@getlnx06 ~]# rpm -qa | grep gcj

libgcj-4.1.2-51.el5

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

libgcj-4.1.2-51.el5

卸载自带的JDK的信息

[root@localhost /]# rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

2.无论是Win版本还是Linux版本的JDK,手工添加修改JAVA_HOME,CLASSPATH,PATH都是必须的。

3.JDK的安装是否成功,标志是以新的JDK编译执行JAVA类,而不是JAVA -version和弄和弄就行的。

好了,就到这里,如果上文有什么问题,请你留言。

在Fedora8上安装jdk-7u25-linux-i586.rpm的步骤的更多相关文章

  1. Linux上安装jdk,mysql

    1.准备工作 一台纯净的Linux系统需要先安装一些依赖才能安装jdk等 rpm: 本地添加安装程序:rpm -ivh 程序名 本地查看程序: rpm -qa 本地卸载程序: rpm -e --nod ...

  2. Linux+Redis实战教程_Linux上安装jdk,mysql,tomcat_安装jdk

    1. Linux上安装jdk,mysql,tomcat[重点] Windows 控制面板 添加/卸载程序 进行程序的安装.更新.卸载.查看 rpm命令:相当于windows的添加/卸载程序 进行程序的 ...

  3. 【Linux】CentOS7上安装JDK 和卸载 JDK 【rpm命令的使用】

    之前有过一篇在CentOS7上安装JDK的文章:http://www.cnblogs.com/sxdcgaq8080/p/7492426.html 在这里又说一次,是要使用rpm命令安装JDK的rpm ...

  4. centos上安装jdk环境

    老沙采用的环境是centos 6.5 64位服务器.在linux上安装jdk环境都很多中方式,这里讲解下手工进行安装并进行环境变量配置. 首先需要下载一个64位版本的linux,可以去oracle官网 ...

  5. 在Ubuntu16.04.4上安装jdk

    在Ubuntu16.04.4上安装jdk 一.安装步骤     1.下载jdk安装包     首先我们在oracle官网上下载jdk-8u161-linux-x64.tar.gz,当然也可以下载其他版 ...

  6. 在Ubuntu16.04.4和Windows10上安装jdk

    在Ubuntu16.04.4和Windows10上安装jdk 一.在Ubuntu16.04.4上安装jdk  1.下载jdk安装包     首先我们在oracle官网上下载jdk-8u161-linu ...

  7. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  8. 在Ubuntu上安装JDK、Ant、Jmeter和Jenkins

    一.前期准备 1. 在win7下载VMware.Ubuntu(用迅雷下比较快) 2. 安装完VMware后新建虚拟机,选择iso: 3. 具体配置参考如下,至此Ubantu安装完成 二.在Ubuntu ...

  9. Ubuntu上安装jdk,Jboss

    Ubuntu上安装jdk 1.使用wget命令或sft方式从oracle官方下载tar.gz格式的jdk1.7,由于ubuntu不支持rpm安装,需要转换,所以不选择rpm格式的jdk 2.使用tar ...

  10. Linux 桌面玩家指南:11. 在同一个硬盘上安装多个 Linux 发行版以及为 Linux 安装 Nvidia 显卡驱动

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

随机推荐

  1. C语言根据日期(年,月,日)判断星期几(使用基姆拉尔森计算公式)

    C语言根据日期判断星期几(使用基姆拉尔森计算公式) 算法如下: 基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数, ...

  2. MUI - 预加载

    预加载都是在mui.init({)}中执行的 方式一:preload一次仅能预加载一个页面(除非循环) var subWebview = mui.preload({ url: 'examples/ac ...

  3. [转]Jquery通用开源框架之【ejq.js】

    ejq是一款非常小巧的JS工具库,未压缩才50K,在jquery的基础上对jquery缺失部分作了很好的弥补作用. 优点: 1.具有内置的模板解析引擎语法和angularjs相近减少学习成本 2.能够 ...

  4. axure rp extension的下载

    使用chrome无法直接打开axure制作的prd文档,需要下载相关插件.平时用的shadowsocksFQ软件,登录chrome的网上应用商店,确发现无法正常下载, 于是通过其他途径下载了改插件,拖 ...

  5. jquery修改a标签的href链接和文字

    可以先体验一下效果:http://keleyi.com/keleyi/phtml/jquery/2.htm 以下修改a标签的href链接和修改文字的代码: <script type=" ...

  6. Nginx 笔记与总结(1)编译安装

    Nginx 可以承受 3 万并发连接数,Apache 默认最大连接数是 256 个. 编译安装 ① 下载 在 Nginx 的主页 http://nginx.org/ 下载最新的 stable vers ...

  7. ThinkPHP 模板截取字符串 【转载】

    对于英文字符可使用如下形式(模板中): {$vo.title|substr=,} 如果是中文字符thinkphp提供了msubstr,用法如下: function msubstr($str, $sta ...

  8. typecho流程原理和插件机制浅析(第二弹)

    typecho流程原理和插件机制浅析(第二弹) 兜兜 393 2014年04月02日 发布 推荐 1 推荐 收藏 14 收藏,3.7k 浏览 上一次说了 Typecho 大致的流程,今天简单说一下插件 ...

  9. memcached学习笔记1--概念

    1.memcached是danga的一个项目,最早是LiveJournal服务的,最初为了加速LiveJournal访问速度而开发,后来被很多大型网站采用 官网: http://www.danga.c ...

  10. 大话数据结构(十二)java程序——KMP算法及改进的KMP算法实现

    1.朴素的模式匹配算法 朴素的模式匹配算法:就是对主串的每个字符作为子串开头,与要连接的字符串进行匹配.对主串做大循环,每个字符开头做T的长度的小循环,直到成功匹配或全部遍历完成为止. 又称BF算法 ...