Linux 下安装配置 JDK7
(2012-09-05 23:58:19)
标签: linuxjavajdkit |
分类: Linuxubuntu |
1.下载JDK
目前最新的JDK版本是:Java SE Development Kit 7u5
下载地址:http://download.oracle.com/otn-pub/java/jdk/7u5-b06/jdk-7u5-linux-i586.tar.gz
查看最新:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2.解压安装
我们把JDK安装到这个路径:/usr/lib/jvm
如果没有这个目录(第一次当然没有),我们就新建一个目录
1
2
|
cd
/
usr
/
lib
sudo
mkdir
jvm
|
建立好了以后,我们来到刚才下载好的压缩包的目录,解压到我们刚才新建的文件夹里面去,并且修改好名字方便我们管理
1
2
3
|
sudo
tar
zxvf
.
/
jdk
-
7
-
linux
-
i586
.tar
.gz
-
C
/
usr
/
lib
/
jvm
cd
/
usr
/
lib
/
jvm
sudo
mv
jdk1
.
7.0_05
/
jdk7
|
3.配置环境变量
1 | gedit ~/.bashrc |
在打开的文件的末尾添加
1
2
3
4
|
export
JAVA_HOME
=
/
usr
/
lib
/
jvm
/
jdk7
export
JRE_HOME
=
$
{
JAVA_HOME
}
/
jre
export
CLASSPATH
=
.
:
$
{
JAVA_HOME
}
/
lib
:
$
{
JRE_HOME
}
/
lib
export
PATH
=
$
{
JAVA_HOME
}
/
bin
:
$
PATH
|
保存退出,然后输入下面的命令来使之生效
1 | source ~/.bashrc |
4.配置默认JDK(一般情况下这一步都可以省略)
由于一些Linux的发行版中已经存在默认的JDK,如OpenJDK等。所以为了使得我们刚才安装好的JDK版本能成为默认的JDK版本,我们还要进行下面的配置。
执行下面的命令:
1
2
|
sudo
update
-
alternatives
--
install
/
usr
/
bin
/
java
java
/
usr
/
lib
/
jvm
/
jdk7
/
bin
/
java
300
sudo
update
-
alternatives
--
install
/
usr
/
bin
/
javac
javac
/
usr
/
lib
/
jvm
/
jdk7
/
bin
/
javac
300
|
注意:如果以上两个命令出现找不到路径问题,只要重启一下计算机在重复上面两行代码就OK了。
执行下面的代码可以看到当前各种JDK版本和配置:
1 | sudo update-alternatives --config java |
5.测试
打开一个终端,输入下面命令:
1 | java -version |
显示结果:
1
2
3
|
java
version
"1.7.0_05"
Java
(
TM
)
SE
Runtime
Environment
(
build
1.7.0_05
-
b05
)
Java
HotSpot
(
TM
)
Server
VM
(
build
23.1
-
b03
,
mixed
mode
)
|
这表示java命令已经可以运行了。
遇到问题:
一、
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位
2、jdk的卸载
在安装过程中还遇到了jdk版本过老(1.4),需要卸载的问题,解决如下:
[root@localhost ~]# java -version
java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20071124 (Red Hat 4.1.2-42)
[root@localhost soft]# rpm -qa | grep jdk
[root@localhost soft]# rpm -qa | grep gcj
libgcj-4.1.2-42.el5
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
上面先确认jdk的具体版本号,然后
[root@localhost jdk1.6.0_11]# yum -y remove java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
Setting up Remove Process
Resolving Dependencies………..(开始卸载)
。。。。
resolver.i386 0:1.1-1jpp.12
Complete!(卸载完成)
如果保存后输入java或javac会出现“cannot restore segment prot after reloc: Permission denied”错误解决方案:
解决的办法是在root用户下,修改/etc/selinux/config 文件,
把SELINUX=enforcing 改成 SELINUX=disabled。
然后,保存关闭,重启机器就可以了。