linux安装jdk1.7步骤
第1步:卸载系统默认的老版本jdk,执行以下命令
- rpm -qa|grep gcj
- 使用以上命令如果看到如下信息:
- 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步:下载jdk程序,jdk文件名为jdk-7u5-linux-i586.rpm。
电脑维修技术网注:到oracle官网下载,具体网址为:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
第3步:下载完后jdk安装程序,上传到目录中,并cd到目录,执行“chmod +x jdk-7u5-linux-i586.rpm”命令。
电脑维修技术网注:命令说明 修改使jdk-7u5-linux-i586.rpm具有执行的权限,这里我使用的是root管理员登录的。
第4步:开始在linux中安装jdk1.7,执行以下命令并确定。
- rpm -ivh jdk-7u5-linux-i586.rpm
第5步:linux系统添加系统环境变量。执行“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
- export JAVA_HOME CLASSPATH PATH
- export JAVA_HOME=/usr/java/jdk1.7.0_25
- JAVA_HOME指明JDK安装路径
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 加载class类的路径,.表示当前路径。
- export PATH=$PATH:$JAVA_HOME/bin
- 可以使系统在任何目录下均可识别java命令。
- export JAVA_HOME CLASSPATH PATH
第6步:执行“source /etc/profile”命令,使第七步添加的系统变量生效。
第7步:添加两个软连接,执行以下命令。
- ln -s -f /usr/java/ /usr/java/jdk1.7.0_25/jre/bin
- ln -s -f /usr/java/ jdk1.7.0_05/bin/javac
电脑维修技术网注:有关软连接和硬连接的说明,大家可参考:unix如何创建快捷方式
第8步:执行“java -version”命令可查看jdk版本,检测是否安装成功。
第9步:检测是否可正常编译java文件,可执行“vi pc811.java”,添加以下代码并保存。
- public class pc811
- {
- public static void main(String[] args)
- {
- System.out.println("pc811.com");
- }
- }
第10步: 执行“java pc811.java”,然后再次执行“java pc811”如果输出“pc811.com”即说明已经成功在linux系统中安装jdk1.7,而且可以正常编译及运行java及相关程序。
在安装过程中出错:
一、
如果保存后输入java或javac会出现“cannot restore segment prot after reloc: Permission denied”错误解决方案:
解决的办法是在root用户下,修改/etc/selinux/config 文件,
把SELINUX=enforcing 改成 SELINUX=disabled。
然后,保存关闭,重启机器就可以了。
二、
java: cannot execute binary file问题的解决
今天在虚机上安装了java,执行java -ersion 发现出现如题目错误,百了一下,发现应该是虚机32位的,而jdk是64位的原因。特此记录。
补充知识:
1、查看linux位数:
#uname -a
如果有x86_64就是64位的,没有就是32位的
这是64位的
# uname -a
Linux desktop 2.6.35-23-generic #37-Ubuntu SMP Fri Nov 5 19:17:11 UTC 2010 i686 GNU/Linux
这是32位的
#uname -a
Linux backup 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386 GNU/Linux
注意:Ixxx的全是32位的,有X86—64的全是64位