Installing Java SDK

A Java SDK is required by Vaadin and also by any of the Java IDEs. Vaadin is compatible with Java 1.6 and later editions, be we recommend using Java 8 for Vaadin development. Java EE 7 is required for proper server push support with WebSockets.

Windows

Follow the following steps:

  1. Download Oracle Java SE 8.0 from http://www.oracle.com/technetwork/java/javase/downloads/index.html

  2. Install the Java SDK by running the installer. The default options are fine.

Linux / UNIX

Most Linux systems either have JDK preinstalled or allow installing it through a package management system. Notice however that they have OpenJDK as the default Java implementation. While it is known to have worked with Vaadin and possibly also with the development toolchain, we do not especially support it.

Regarding OS X, notice that JDK 1.6 or newer is included in OS X 10.6 and newer.

Otherwise:

  1. Download Oracle Java SE 8.0 from http://www.oracle.com/technetwork/java/javase/downloads/

  2. Decompress it under a suitable base directory, such as /opt. For example, for Java SDK, enter (either as root or with sudo in Linux):

  1. ```
  2. # cd /opt
  3. # sh <path>/jdk-<version>.bin
  4. ```
  5. and follow the instructions in the installer.
  1. Set up the JAVA_HOME environment variable to point to the Java installation directory. Also, include the $JAVA_HOME/bin in the PATH. How you do that varies by the UNIX variant. For example, in Linux and using the Bash shell, you would add lines such as the following to the .bashrc or .profile script in your home directory:
  1. ```
  2. export JAVA_HOME=/opt/jdk1.8.0_31
  3. export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
  4. ```
  5. You could also make the setting system-wide in a file such as /etc/bash.bashrc, /etc/profile, or an equivalent file. If you install Apache Ant or Maven, you may also want to set up those in the path.
  6. Settings done in a bashrc file require that you open a new shell window. Settings done in a profile file require that you log in into the system. You can, of course, also give the commands in the current shell.