Linux Notice App

Java Package Management on Arch Linux

Complete Guide: Java Package Management on Arch Linux

Master Java installation, version switching, and development environment setup

Published on August 30, 2025

Arch Linux Java OpenJDK Development Package Management

Managing Java versions on Arch Linux can be straightforward once you know the right commands. This comprehensive guide will walk you through installing different Java versions, switching between them, and setting up your development environment efficiently.

🚀 Installing Java Packages

OpenJDK Versions

Arch Linux offers multiple OpenJDK versions through the official repositories. Here's how to install the most commonly used versions:

# OpenJDK 8 (Legacy support)
sudo pacman -S jdk8-openjdk

# OpenJDK 11 (LTS)
sudo pacman -S jdk11-openjdk

# OpenJDK 17 (LTS)
sudo pacman -S jdk17-openjdk

# OpenJDK 21 (LTS)
sudo pacman -S jdk21-openjdk

# OpenJDK 23 (Latest)
sudo pacman -S jdk-openjdk
💡 Pro Tip: LTS (Long Term Support) versions like 11, 17, and 21 are recommended for production environments due to their extended support lifecycle.

Oracle JDK (AUR)

If you prefer Oracle's official JDK, you can install it from the AUR:

# Using yay AUR helper
yay -S jdk17-oracle
yay -S jdk21-oracle

🔍 Viewing Installed Java Versions

Arch Linux provides excellent tools for managing multiple Java installations:

# List all installed Java environments
archlinux-java status

# Check currently active Java version
java -version
javac -version

# Show Java installation path
which java
echo $JAVA_HOME

⚙️ Setting Default Java Version

Using archlinux-java Command

The archlinux-java tool is the recommended way to manage Java versions on Arch Linux:

1

Check Available Versions

archlinux-java status
2

Set Default Version

# Set Java 8 as default
sudo archlinux-java set java-8-openjdk

# Set Java 11 as default
sudo archlinux-java set java-11-openjdk

# Set Java 17 as default
sudo archlinux-java set java-17-openjdk

# Set Java 21 as default
sudo archlinux-java set java-21-openjdk
3

Verify the Change

java -version

Alternative: Using update-alternatives

For more granular control, you can use the update-alternatives system:

# Configure Java alternatives interactively
sudo update-alternatives --config java
sudo update-alternatives --config javac

🛠️ Development Tools Installation

Complete your Java development environment with these essential tools:

# Build tools
sudo pacman -S gradle maven apache-ant

# Version control
sudo pacman -S git

# Text editors and IDEs
sudo pacman -S vim nano
yay -S intellij-idea-community-edition

📋 Package Management Commands

# Search for Java packages
pacman -Ss java | grep -i jdk

# List installed Java packages
pacman -Qs java

# Get detailed package information
pacman -Qi jdk17-openjdk

# Remove a Java package
sudo pacman -R jdk8-openjdk

🎯 Practical Example: Setting Up a Development Environment

Here's a complete workflow for setting up a Java development environment:

Step-by-Step Setup:
# 1. Install multiple Java versions
sudo pacman -S jdk11-openjdk jdk17-openjdk jdk21-openjdk

# 2. Check what's installed
archlinux-java status

# 3. Set Java 17 as default (recommended for most projects)
sudo archlinux-java set java-17-openjdk

# 4. Verify the setup
java -version
javac -version

# 5. Install development tools
sudo pacman -S maven gradle git

🔧 Environment Variables

For some applications, you might need to set the JAVA_HOME environment variable manually:

# Check current JAVA_HOME
echo $JAVA_HOME

# Set JAVA_HOME temporarily
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk

# Add to ~/.bashrc for permanent setting
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk' >> ~/.bashrc

🐛 Troubleshooting Common Issues

⚠️ Common Problem: If you get "java: command not found" after installation, make sure the default Java environment is set correctly using archlinux-java set.
# Fix unset Java environment
sudo archlinux-java fix

# Force refresh environment
source ~/.bashrc

# Check Java installations
ls /usr/lib/jvm/

📱 Project-Specific Java Versions

For projects requiring specific Java versions, you can create simple scripts:

# Create a project-specific Java script
#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH
echo "Switched to Java 11 for this session"
java -version
🎉 Conclusion: With these commands, you now have complete control over Java versions on your Arch Linux system. The archlinux-java tool makes version management seamless, while pacman handles package installation efficiently.

Happy coding with Java on Arch Linux! 🐧☕

Keep your system updated with regular sudo pacman -Syu

No comments

Powered by Blogger.