JDK setup
“Java” is one of the most popular and common language in this world.
It's everywhere, and you need some library to execute these programs.
Contents
Get Java
2 versions of Java are available:
- JRE as Java Runtime Environment. For end-users. Download JRE: https://java.com/getjava
- JDK as Java Devolpment Kit. For developers and application servers. The JDK includes the corresponding JRE. Download JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html
You need to install the JDK on your development station & servers.
Windows installation
Linux installation
On a server, I advise you to put the JDK instead of the JRE. Many services requires the JDK such as JMX.
While on Windows ORACLE java is almost the only JVM available, on Linux you can choose your JVM vendor: OpenJDK, ORACLE, .... I advise you to use the official ORACLE library, instead of the OpenSource OpenJDK due to stability issues and JavaFX2 compability.
ORACLE JVM automatic installation (ubuntu)
This is for Ubuntu based distributions only.
Add a new repository:
add-apt-repository ppa:webupd8team/java
apt-get update
Install ORACLE JDK packages:
apt-get install oracle-java7-installer oracle-jdk7-installer
This will download the latest JDK, install it automatically and set the new JVM as the default one.
To remove the repository:
apt-add-repository --remove ppa:webup8team/java
ORACLE JVM manual installation (debian)
Download JDK
You've to retrieve the JDK / JRE from the sun website
- Through a graphical interface: http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Using wget:
export ORACLE_JVM_URL='http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.tar.gz'
export ORACLE_JVM_FILENAME='jdk-linux-x64.tar.gz'
wget -c --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" \
$ORACLE_JVM_URL --output-document=$ORACLE_JVM_FILENAME
You have to adjust the ORACLE_JVM_URL to the exact JVM you want to use.
Installation
- Get binaries
tar -xzvf $ORACLE_JVM_FILENAME
mv jdk1.7.* /usr/lib/jvm
cd /usr/lib/jvm
- Register new version
# update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_45/bin/java 1065
# update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_45/bin/javac 1065
# update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.0_45/bin/jar 1065
# update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.7.0_45/bin/javaws 1065
You have to adjust the source folder in LS command.
- Adjust symlink
# rm /usr/lib/jvm/default-java
# ln -s /usr/lib/jvm/jdk1.7.0_45/ /usr/lib/jvm/default-java
You have to adjust the source folder in LS command.
- Set system default version
# update-alternatives --config java
# update-alternatives --config javac
# update-alternatives --config javaws
# update-alternatives --config jar
- Check result
# java -version
Update environment
<syntaxhighlight lang="bash">
You need to add an environment variable:
- vim /etc/profile
Ubuntu:
- vim /etc/environment
export JAVA_HOME="/usr/lib/jvm/jdk1.7.0_09" if [ "`id -u`" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$JAVA_HOME/bin" else PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:$JAVA_HOME/bin" fi export PATH
Reminders
Don't forget to adjust the JAVA related services:
Tomcat
/etc/default/tomcat7
Eclipse IDE
eclipse.ini
Jenkins
etc.
Java # OpenJdk
It’s always good to setup OpenJDK as well, especially for the old version as there is more updates.
- apt-get install openjdk-6-jdk