How to Install the Java Development Kit on a Raspberry Pi

The Java programming language was first released back in 1995, and since then it has grown to become a giant among giants. According to Oracle, there are more than 9 million Java developers worldwide. And because of Android, there are millions of smartphones which run Java, while simultaneously every Blu-ray player in the world ships with Java. Last, but not least, Java is available for the Raspberry Pi!

To install Java 8 on your Pi use the following command:

sudo apt-get install oracle-java8-jdk

To check that everything installed OK, type:

java -version

java-version

The output shows that Java 1.8.0 has been installed. 1.8 means Java 8. The initial releases of Java were all “point” releases: 1.0, 1.1, 1.2, 1.3, and 1.4. But in 2004 when Java 1.5 was released, it was marketed as Java 5; however, 1.5 still remained the internal version number. So 1.5 is Java 5, 1.6 is Java 6, 1.7 is Java 7, and 1.8 is Java 8.

Now to write a simple Java program. Create a file called “Hello.java” using nano:

nano Hello.java

The capital “H” is important, so be sure you type “Hello.java” and not “hello.java”. Copy and paste the following code into the file:

public class Hello {
 
    public static void main(String[] args) {
        System.out.println("Hello Make Tech Easier");
    }
}

In Java, the public class name must be the same as the file name. This makes it easier to find classes when you have big programs. If you need to find the class “TheNetworkListener,” then it will be in the file “TheNetworkListener.java,” and so on.

To compile the program type:

javac Hello.java

If the compilation was successful then there will be no output. But if the program has errors, then they will be displayed.

To run the program type:

java Hello

The output will be the string “Hello Make Tech Easier”

java-hello

Congratulations, you have now written and run your first Java program on a Raspberry Pi.

You can also write GUI programs with Java. There are integrated development environments (IDE) like NetBeans, which allow you to design Java desktop applications graphically. But it is also possible to write GUI programs using just a text editor.

Create a file called “HelloDialog.java” with nano:

nano HelloDialog.java

Copy and paste the following code:

import javax.swing.JOptionPane;
 
public class HelloDialog {
 
   public static void main(String[] args) {
      JOptionPane.showMessageDialog( null, "Hello MTE!" );
   }
}

Make sure you have the Raspberry Pi desktop running (using “startx” if necessary). Compile the program using “javac HelloDialog.java” and run it using “java HelloDialog“.

java-hello-gui

The program uses Java’s GUI widget toolkit called Swing. All it does is show a message dialog box. However, more complex programs can be written using Swing. Create a file called “SimpleSwing.java” and edit it with nano. Copy and paste the following code into the file.

import javax.swing.JFrame;
import javax.swing.SwingUtilities;
 
public class SimpleSwing extends JFrame {
 
    public SimpleSwing() {
       setTitle("Simple example");
       setSize(300, 200);
       setLocationRelativeTo(null);
       setDefaultCloseOperation(EXIT_ON_CLOSE);        
    }
 
    public static void main(String[] args) {        
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                SimpleSwing ex = new SimpleSwing();
                ex.setVisible(true);
            }
        });
    }
}

The program is quite simple; however, it does show that you can create a window with a title. The window can be resized and closed, just as you would expect. This is the building block for more complex applications.

java-simple-swing

There are lots of tutorials online about the Java programming language. Here is a small selection:

If you have any problems with the examples given above or with getting Java to work on the Raspberry Pi, then please feel free to leave a comment below and we will see if we can help.