Difference between revisions of "JDK setup"

Line 41: Line 41:
 
===ORACLE JVM manual installation (debian)===
 
===ORACLE JVM manual installation (debian)===
 
====Download JDK====
 
====Download JDK====
You've to retrieve the JDK / JRE from the sun website
+
You've to retrieve the JDK / JRE from the ORACLE website
 
* Through a graphical interface: http://www.oracle.com/technetwork/java/javase/downloads/index.html
 
* Through a graphical interface: http://www.oracle.com/technetwork/java/javase/downloads/index.html
 
* Using wget:  
 
* Using wget:  
Line 85: Line 85:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
====Environment variable JAVA_HOME===
+
====Environment variable JAVA_HOME====
 
You need to add an environment variable JAVA_HOME, if it does not already exist:
 
You need to add an environment variable JAVA_HOME, if it does not already exist:
 
* Debian
 
* Debian
Line 110: Line 110:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
===OpenJdk===
 +
It’s always good to setup OpenJDK as well, especially for the old versions as there is more updates than the ORACLE version.
 +
<syntaxhighlight lang="bash">
 +
apt-get install openjdk-6-jdk
 +
</syntaxhighlight>
  
Reminders
+
===Reminders===
Don't forget to adjust the JAVA related services:
+
Don't forget to adjust the JAVA_HOME in all JAVA related services:
Tomcat
+
* Tomcat: /etc/default/tomcat7
/etc/default/tomcat7
+
* Eclipse IDE: eclipse.ini
Eclipse IDE
+
* Jenkins
eclipse.ini
+
* etc.
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
 

Revision as of 19:33, 10 November 2013

“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.

Get Java

2 versions of Java are available:

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 ORACLE website

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 /usr/lib/jvm/jdk1.7.0_45/bin/.

  • 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

Environment variable JAVA_HOME

You need to add an environment variable JAVA_HOME, if it does not already exist:

  • Debian
vim /etc/profile
  • Ubuntu
vim /etc/environment

Add the following line:

export JAVA_HOME="/usr/lib/jvm/default-java"

Update PATH:

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

OpenJdk

It’s always good to setup OpenJDK as well, especially for the old versions as there is more updates than the ORACLE version.

apt-get install openjdk-6-jdk

Reminders

Don't forget to adjust the JAVA_HOME in all JAVA related services:

  • Tomcat: /etc/default/tomcat7
  • Eclipse IDE: eclipse.ini
  • Jenkins
  • etc.