在Fedora8上安装jdk-7u25-linux-i586.rpm的步骤

简介:

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

任务,将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和弄和弄就行的。

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












本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/xiandedanteng/p/3255496.html,如需转载请自行联系原作者



相关文章
|
14天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
13天前
|
Ubuntu Linux Shell
Linux系统命令 安装和文件相关命令
本文档详细介绍了Linux系统中的常用命令,包括软件安装卸载命令如`dpkg`和`apt-get`,压缩与解压命令如`gzip`、`bzip2`和`xz`,以及`tar`命令用于打包和解包。此外还介绍了文件分割命令`split`,文件操作命令如`cat`、`head`、`tail`、`more`、`less`等,管道命令和`wc`、`grep`、`find`、`cut`、`sort`、`uniq`、`diff`等实用工具。最后,文档还讲解了文件属性相关的命令如`chmod`、`chown`、`chgrp`以及创建硬链接和软链接的`ln`命令。
|
14天前
|
C++
fedora安装静态c和c++库
fedora安装静态c和c++库
|
19天前
|
Linux TensorFlow 算法框架/工具
在Linux上安装其他版本的cmake 或 升级cmake
在Linux上安装其他版本的cmake 或 升级cmake
28 2
|
19天前
|
人工智能 Linux 开发工具
Linux安装Taiyi stable-diffusion-webui
Linux安装Taiyi stable-diffusion-webui
|
20天前
|
Ubuntu Linux 虚拟化
安装Windows Linux 子系统的方法:适用于windows 11 版本
本文提供了在Windows 11系统上安装Linux子系统(WSL)的详细步骤,包括启用子系统和虚拟化功能、从Microsoft Store安装Linux发行版、设置WSL默认版本、安装WSL2补丁,以及完成Ubuntu的首次安装设置。
63 2
|
24天前
|
关系型数据库 MySQL Linux
Linux环境安装MySQL8.0.36使用rpm包安装,安装顺序是什么?
【8月更文挑战第23天】Linux环境安装MySQL8.0.36使用rpm包安装,安装顺序是什么?
122 1
|
24天前
|
关系型数据库 Linux PostgreSQL
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
|
24天前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
|
24天前
|
网络协议 Linux Shell
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性