This tutorial will guide you on how to install JDK (Java Development Kit) on Linux. Since I use Centos 5.4 x86_64 in everyday life, this guide is showing you how to install JDK in Centos 5.4 64bit. It must work in any other Linux distro such as Slackware, Fedora, Ubuntu et cetera.
If you install a Linux OS, the developers usually already included a JVM to the system to run some programs that need Java. Mostly they included OpenJDK for the JVM.

But I don’t like to use OpenJDK because some Java platform like JavaFX will not run using OpenJDK.

UPDATE! Java SE 6 (JDK 1.6) Update 24 (file name: jdk-6u24-linux-i586.bin) is now available. You can download the file from Java SE Downloads page. Java SE 7 (JDK 1.7) Binary Snapshot build b132 also has been released. If you want to download and install the Java SE 7, you can get the file fromJava SE 7 download page with the file name jdk-7-ea-bin-b132-linux-i586-03_mar_2011.bin. This tutorial should be applicable for those version.

1. Download the JDK

The JDK can be downloaded from its official website. At the time this tutorial was written, the JDK version is JDK 6 Update 17. Click the Download button then you will be forwarded to Java SE Download page. You can select the Java platform to suit your system.

Since I use x86_64 of Linux, I choose ‘Linux x64′ for the platform. Then click ‘Continue’ button. You can skip for the ‘Log in for Downloads’ optional window. Then select from the available files.

Choose not the ‘rpm’ file because we will install the JDK in a folder as we want to.

2. After the download is complete, unpack the file by executing it.

First you have to make it executable.

[fuad@centos Downloads]$ chmod +x jdk-6u17-linux-x64.bin
[fuad@centos Downloads]$ ./jdk-6u17-linux-x64.bin inflating: jdk1.6.0_17/README.html
creating: jdk1.6.0_17/include/
inflating: jdk1.6.0_17/include/jni.h
creating: jdk1.6.0_17/include/linux/
inflating: jdk1.6.0_17/include/linux/jawt_md.h
inflating: jdk1.6.0_17/include/linux/jni_md.h
inflating: jdk1.6.0_17/include/jvmti.h
inflating: jdk1.6.0_17/include/jawt.h
inflating: jdk1.6.0_17/include/jdwpTransport.h
inflating: jdk1.6.0_17/include/classfile_constants.h
inflating: jdk1.6.0_17/COPYRIGHT
Creating jdk1.6.0_17/jre/lib/rt.jar
Creating jdk1.6.0_17/jre/lib/jsse.jar
Creating jdk1.6.0_17/jre/lib/charsets.jar
Creating jdk1.6.0_17/lib/tools.jar
Creating jdk1.6.0_17/jre/lib/ext/localedata.jar
Creating jdk1.6.0_17/jre/lib/plugin.jar
Creating jdk1.6.0_17/jre/lib/javaws.jar
Creating jdk1.6.0_17/jre/lib/deploy.jar Java(TM) SE Development Kit 6 successfully installed. Product Registration is FREE and includes many benefits:
* Notification of new versions, patches, and updates
* Special offers on Sun products, services and training
* Access to early releases and documentation Product and system data will be collected. If your configuration
supports a browser, the Sun Product Registration form for
the JDK will be presented. If you do not register, none of
this information will be saved. You may also register your
JDK later by opening the register.html file (located in
the JDK installation directory) in a browser. For more information on what data Registration collects and
how it is managed and used, see: http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html Press Enter to continue..... Done.

A folder ‘jdk1.6.0_17′ will be created.

3. Move the ‘jdk1.6.0_17′ folder to a safe place

We will move this folder to a place as you want to. You can move it to /opt folder, leave it in this directory or to anywhere in the system. I prefer to move this folder to /usr/local. So move it there.

[fuad@centos Downloads]$ sudo mv jdk1.6.0_17 /usr/local/

Here in the /usr/local/ directory, we will create a symbolic link to jdk1.6.0_17 named as ‘java’

[fuad@centos Downloads]$ cd /usr/local/
[fuad@centos local]$ sudo ln -s jdk1.6.0_17 java

Now the JDK is installed in /usr/local/jdk1.6.0_17 and linked to /usr/local/java.
We need to add /usr/local/java/bin folder to the system PATH. If it is only for your account, add it in .bash_profile file in you home directory. In Slackware, it should be in .profile file. To make it system wide environment, add it in the /etc/profile.

Edit a line in .bash_profile to be similar like below:

PATH=$PATH:$HOME/bin:/usr/local/java/bin

This way the PATH will be automatically set at boot time.

You can also set the PATH immediately by using a command below:

$ export PATH=$PATH:/usr/local/java/bin

Now you can call java directly in your shell:

$ java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)

4. Upgrade to the latest version

If there is a new JDK version released by Sun/Oracle and you want to upgrade to the latest version, you can simply follow the steps above. Except for the third step, after moving the new JDK version to /usr/local/ folder, you need to remove the existing ‘java’ folder in the /usr/local/ directory and re-create the symbolic link again.

For example, today on May 18th, 2010, I checked to the java.sun.com website that the current latest version of the JDK is JDK 6 Update 20. So after following step 1 and 2, we remove the ‘java’ folder and re-create the symbolic link again to the ‘java’ folder.

$ sudo rm -rf java
$ sudo ln -s jdk1.6.0_20 java

To make sure it has been successfully upgraded, you can check the current java version.

$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Server VM (build 16.3-b01, mixed mode)

How to install JDK (Java Development Kit) on Linux的更多相关文章

  1. jdk (Java Development Kit)

    JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具. JD ...

  2. eclipse解压后启动弹出A Java Runtime Evironment(JRE) or Java Development Kit(JDK)....

    系统环境:win7 64bit JDK:jdk-7u79-windows-x64 Eclipse:eclipse-jee-helios-win32 启动eclipse:弹出A Java Runtime ...

  3. ubuntu myeclipse 启动时提示 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail ....

    jdk已经安装过但是启动eclipse时提示“A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail  ...

  4. Linux 下报错:A Java RunTime Environment (JRE) or Java Development Kit (JDK) must解决方案

    一.报错环境:在Linux mint下,前几天还用得很好的的eclipse,今天开机不知为什么这样. Linux 下报错:A Java RunTime Environment (JRE) or Jav ...

  5. A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations: /usr/local/eclipse/

    linux系统下jdk是已经安装好的情况之下软件出现 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be av ...

  6. ubuntu 打开eclipse出现A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be ... 解决方法(转载)

    原创作者:http://www.cnblogs.com/jerome-rong/archive/2013/02/19/2916608.html Java RunTime Environment (JR ...

  7. eclipse 启动问题Eclipse启动时报错:A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No java virtual machine was found after searching the following locat

    从其他人直接复制的环境导致的问题. 正常双击出现当前异常,以管理员权限启动可以正常启动. ---------------------------Eclipse--------------------- ...

  8. Eclipse启动错误:A Java Runtime Environment(JRE) or Java Development Kit(JDK) must be available……

    确保Jdk,Jre都安装完成并且环境变量配置无误的情况下,自动Ecplise报错如下: A Java Runtime Environment (JRE) or Java Development Kit ...

  9. JDK(Java Development Kit)内置常用自带工具一览(转)

    注意:可能随着JDK的版本升级,工具也会随着增多. JDK(Java Development Kit)是Java程序员最核心的开发工具,没有之一. JDK是一个功能强大的Java开发套装,它不仅仅为我 ...

随机推荐

  1. 怎么查看其它apk里面的布局代码及资源

    今天才看到的好方法, 将你要的apk文件的后缀名改为zip,解压就可以了. --------------------------------- 提示:有时候系统会自动隐藏你的后缀名的,这时候就需要你将 ...

  2. Ubuntu下安装配置zsh和oh my zsh

    zsh优势:自动补全功能强大和很高的可配置性 1.查看当前系统装了哪些shell    cat /etc/shells 2.当前正在运行的是哪个版本的shell    echo $SHELL 3.安装 ...

  3. Asp.net 同时下载多个文件

    整理自网络 下载思路是首先把多个文件进行压缩,然后再下载压缩成的压缩包 引用文件dll:ICSharpCode.SharpZipLib.dll 1. 合成下载文件夹 Protected Sub btn ...

  4. 2186: [Sdoi2008]沙拉公主的困惑 - BZOJ

    Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现 ...

  5. PHP对XML文件操作之属性与方法讲解

    DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definit ...

  6. _beginthreadex创建多线程详解

    一.需要的头文件支持 #include <process.h>         // for _beginthread() 需要的设置:ProjectSetting-->C/C++- ...

  7. Bad configuration option localCommand

     command-line: line 0: Bad configuration option: PermitLocalCommand 2011-12-08 14:04:54 标签:Bad confi ...

  8. 暑假学习日记:Splay树

    从昨天开始我就想学这个伸展树了,今天花了一个上午2个多小时加下午2个多小时,学习了一下伸展树(Splay树),学习的时候主要是看别人博客啦~发现下面这个博客挺不错的http://zakir.is-pr ...

  9. ***CI分页:为CodeIgniter写的分页类

    ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...

  10. git init 与 git init --bare 的区别

    git init  和 git init –bare 的区别 使用命令"git init --bare"(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repos ...