• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

TinyGrab

Your Trusted Source for Tech, Finance & Brand Advice

  • Personal Finance
  • Tech & Social
  • Brands
  • Terms of Use
  • Privacy Policy
  • Get In Touch
  • About Us
Home » How to install the JDK in Linux?

How to install the JDK in Linux?

June 20, 2025 by TinyGrab Team Leave a Comment

Table of Contents

Toggle
  • Installing the Java Development Kit (JDK) on Linux: A Comprehensive Guide
    • Choosing Your Installation Method
      • Installing from Distribution Packages (Recommended)
      • Installing from a .tar.gz Archive
      • Using SDKMAN! (SDK Manager)
    • Selecting the Right JDK Version
    • Verifying the Installation
    • FAQs: Common Questions About JDK Installation on Linux
      • 1. What is the difference between JDK, JRE, and JVM?
      • 2. How do I uninstall the JDK on Linux?
      • 3. How do I switch between different JDK versions on Linux?
      • 4. Why am I getting a “java: command not found” error after installation?
      • 5. How do I set the JAVA_HOME environment variable permanently?
      • 6. Should I use Oracle JDK or OpenJDK?
      • 7. How do I find the installation path of my JDK?
      • 8. Can I install multiple JDKs on the same machine?
      • 9. What’s the best JDK version to use for development in 2024?
      • 10. Is it necessary to set JAVA_HOME if I installed the JDK using a package manager?
      • 11. How do I troubleshoot a failed JDK installation?
      • 12. Can I install the JDK as a non-root user?

Installing the Java Development Kit (JDK) on Linux: A Comprehensive Guide

So, you need to get the Java Development Kit (JDK) humming on your Linux machine? Excellent choice. Whether you’re building the next generation of enterprise applications or just tinkering with a new coding project, a properly installed JDK is the bedrock of your Java development environment. Fear not, this seemingly complex task is quite manageable with the right guidance. Let’s dive in, step-by-step.

The core of installing the JDK involves these key steps: downloading the appropriate JDK distribution, extracting the downloaded archive (if applicable), configuring your environment variables (specifically JAVA_HOME and PATH), and finally, verifying the installation. The specific commands and procedures might vary slightly depending on your chosen Linux distribution (e.g., Ubuntu, Fedora, CentOS) and the type of JDK package (e.g., .tar.gz, .rpm, .deb). Let’s explore the common methods.

Choosing Your Installation Method

There are several approaches you can take to install the JDK on Linux, each with its own advantages and considerations. Let’s explore the most common.

Installing from Distribution Packages (Recommended)

Many Linux distributions offer pre-built JDK packages through their package managers. This is generally the easiest and most recommended approach as it handles dependencies and updates seamlessly.

  • Debian/Ubuntu (using apt):

    1. Update package lists: sudo apt update
    2. Search for available JDK versions: apt search openjdk (This will show you available OpenJDK packages like openjdk-11-jdk, openjdk-17-jdk, etc.)
    3. Install your chosen JDK: sudo apt install openjdk-17-jdk (Replace 17 with your desired version).
    4. Verify Installation: java -version (Should display the installed JDK version).
  • Fedora/CentOS/RHEL (using dnf or yum):

    1. Search for available JDK versions: sudo dnf search java-devel (or sudo yum search java-devel on older systems).
    2. Install your chosen JDK: sudo dnf install java-17-openjdk-devel (Replace 17 with your desired version).
    3. Verify Installation: java -version (Should display the installed JDK version).

Installing from a .tar.gz Archive

This method involves downloading a compressed archive directly from Oracle or another provider (e.g., Azul Zulu, Adoptium) and manually extracting and configuring it.

  1. Download the JDK: Visit the Oracle website or your chosen provider’s website and download the .tar.gz archive for Linux. Make sure to select the correct architecture (x64 for most modern systems).

  2. Extract the archive: Navigate to the directory where you downloaded the archive (e.g., ~/Downloads) and use the tar command to extract it: tar -xvf jdk-17_linux-x64_bin.tar.gz (Replace jdk-17_linux-x64_bin.tar.gz with the actual filename).

  3. Move the extracted folder: It’s generally recommended to move the extracted folder to a common location, such as /usr/lib/jvm: sudo mv jdk-17.0.x /usr/lib/jvm/ (Replace jdk-17.0.x with the name of the extracted folder).

  4. Set Environment Variables: This is the crucial step. You need to tell your system where to find the Java executables. Open your .bashrc, .zshrc, or equivalent shell configuration file (located in your home directory): nano ~/.bashrc

  5. Add the following lines:

    export JAVA_HOME=/usr/lib/jvm/jdk-17.0.x export PATH=$PATH:$JAVA_HOME/bin 

    (Remember to replace jdk-17.0.x with the actual directory name)

  6. Save the file and reload your shell: source ~/.bashrc or source ~/.zshrc

  7. Verify Installation: java -version (Should display the installed JDK version).

Using SDKMAN! (SDK Manager)

SDKMAN! is a fantastic tool for managing multiple SDKs (including JDKs) on your system. It simplifies installation, switching between versions, and keeping your development environment organized.

  1. Install SDKMAN!: If you don’t have it already, install it using the following command: curl -s "https://get.sdkman.io" | bash
  2. Follow the on-screen instructions to complete the SDKMAN! installation (usually involves opening a new terminal).
  3. List available JDKs: sdk list java
  4. Install your chosen JDK: sdk install java 17.0.x-oracle (Replace 17.0.x-oracle with the identifier of the JDK you want to install).
  5. Verify Installation: java -version (Should display the installed JDK version). SDKMAN! automatically configures your environment variables.

Selecting the Right JDK Version

Choosing the right JDK version is important. While newer versions offer performance improvements and new features, older versions might be required for compatibility with specific projects or libraries. Long-Term Support (LTS) versions (e.g., 8, 11, 17, 21) are generally recommended for stability and continued security updates.

Verifying the Installation

After any installation method, always verify that the JDK is installed correctly. The java -version command is your friend. It should output the version information of the installed JDK. If it doesn’t, double-check your environment variable configuration, especially JAVA_HOME and PATH.

FAQs: Common Questions About JDK Installation on Linux

Here are some frequently asked questions about installing the JDK on Linux, along with detailed answers to help you troubleshoot any issues.

1. What is the difference between JDK, JRE, and JVM?

JVM (Java Virtual Machine): The runtime environment that executes Java bytecode. It’s the core of the Java platform.

JRE (Java Runtime Environment): Provides the minimum requirements to run Java applications. It includes the JVM, core classes, and supporting files.

JDK (Java Development Kit): A superset of the JRE. It includes everything in the JRE plus development tools like the compiler (javac), debugger (jdb), and other utilities. You need the JDK to develop Java applications.

2. How do I uninstall the JDK on Linux?

The uninstallation process depends on how you installed the JDK.

  • Using package manager (apt, dnf, yum): Use the package manager to remove the package. For example, sudo apt remove openjdk-17-jdk or sudo dnf remove java-17-openjdk-devel.

  • From .tar.gz archive: Remove the directory where you extracted the JDK (e.g., /usr/lib/jvm/jdk-17.0.x) and remove the environment variable configurations from your .bashrc or .zshrc file.

  • Using SDKMAN!: Use the sdk uninstall java <version> command.

3. How do I switch between different JDK versions on Linux?

If you have multiple JDKs installed, you can switch between them using the update-alternatives command (on Debian/Ubuntu systems) or SDKMAN!.

  • Using update-alternatives:

    1. List available Java alternatives: sudo update-alternatives --config java
    2. Select the desired version: Choose the number corresponding to the desired JDK.
  • Using SDKMAN!:

    1. List installed JDKs: sdk list java
    2. Use a specific version: sdk use java <version>
    3. Set a default version: sdk default java <version>

4. Why am I getting a “java: command not found” error after installation?

This usually means your PATH environment variable is not correctly configured to include the JDK’s bin directory. Double-check your .bashrc or .zshrc file and ensure that the PATH variable includes $JAVA_HOME/bin. Remember to source the file after making changes.

5. How do I set the JAVA_HOME environment variable permanently?

You set the JAVA_HOME environment variable by adding the following lines to your .bashrc, .zshrc, or /etc/environment file:

export JAVA_HOME=/usr/lib/jvm/jdk-17.0.x 

Remember to replace /usr/lib/jvm/jdk-17.0.x with the actual path to your JDK installation. After saving the file, run source ~/.bashrc or source ~/.zshrc to apply the changes to your current session. Using /etc/environment usually requires a system reboot to take effect.

6. Should I use Oracle JDK or OpenJDK?

OpenJDK is the open-source implementation of the Java SE platform, and Oracle JDK is Oracle’s distribution of OpenJDK with some commercial features and support options. For most developers, OpenJDK is perfectly sufficient and often preferred due to its open-source nature. Oracle JDK is generally preferred only when Commercial features are required.

7. How do I find the installation path of my JDK?

If you used a package manager, the JDK is usually installed in /usr/lib/jvm. You can also use the which javac command to find the location of the javac compiler, which is typically in the JDK’s bin directory. Then, you can navigate up the directory structure to find the JDK’s root directory.

8. Can I install multiple JDKs on the same machine?

Yes, you can install multiple JDKs on the same machine. Tools like SDKMAN! and update-alternatives help you manage and switch between different versions.

9. What’s the best JDK version to use for development in 2024?

Generally, sticking with a Long-Term Support (LTS) version is the wisest choice. As of late 2024, Java 17 and Java 21 are the most current LTS versions. Java 11 is also still in active use, but migrating to Java 17 or 21 provides access to newer features, better performance, and continued security updates.

10. Is it necessary to set JAVA_HOME if I installed the JDK using a package manager?

While not always strictly necessary, setting JAVA_HOME is a good practice. Some Java-based tools and build systems rely on JAVA_HOME to locate the JDK. Setting it explicitly ensures that these tools can find the JDK regardless of how it was installed.

11. How do I troubleshoot a failed JDK installation?

Common causes of failed JDK installations include:

  • Incorrect download: Ensure you downloaded the correct JDK version and architecture for your system.
  • Corrupted archive: Verify the integrity of the downloaded .tar.gz archive.
  • Insufficient permissions: Make sure you have the necessary permissions to extract and move the JDK files.
  • Incorrect environment variable configuration: Double-check your .bashrc or .zshrc file for errors in the JAVA_HOME and PATH variables.

12. Can I install the JDK as a non-root user?

Yes, you can install the JDK as a non-root user, especially if you’re using the .tar.gz archive method or SDKMAN!. However, you’ll need to choose an installation directory that you have write access to (e.g., your home directory). When using a package manager, root privileges are generally required because it installs the software globally in the system.

With these instructions and FAQs, you should be well-equipped to install the JDK on your Linux system and tackle any challenges that may arise. Happy coding!

Filed Under: Tech & Social

Previous Post: « How to open a thread on Twitter?
Next Post: How to turn off a Google Pixel 7a? »

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

NICE TO MEET YOU!

Welcome to TinyGrab! We are your trusted source of information, providing frequently asked questions (FAQs), guides, and helpful tips about technology, finance, and popular US brands. Learn more.

Copyright © 2025 · Tiny Grab