To compile and run Java 17 code using the command line, follow these steps:
1. Install Java 17
- Ensure that Java 17 is installed on your system.
- Run the following command to check the installed Java version:
java -version
If Java 17 is not installed, download and install it from the official Oracle website or use OpenJDK.
2. Write Your Java Code
- Create a Java file with the
.java
extension. For example, create a file namedHelloWorld.java
with the following content:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
3. Open Command Line
- Open a terminal (on Linux/Mac) or Command Prompt/PowerShell (on Windows).
4. Navigate to the Directory
- Go to the directory where the
.java
file is located using thecd
command. For example:
cd /path/to/your/code
5. Compile the Java File
- Use the
javac
command to compile the.java
file into bytecode. Thejavac
compiler will create a.class
file.
javac HelloWorld.java
- If there are no errors, you’ll see a file named
HelloWorld.class
in your directory.
6. Run the Compiled Java File
- Execute the compiled
.class
file using thejava
command (without the.class
extension):
java HelloWorld
- You should see the following output:
Hello, World!
7. (Optional) Use Java 17 Specific Features
- Java 17 brought several new features such as sealed classes, pattern matching for switch, and more. Make sure your code uses features specific to Java 17 to fully utilize it.
Common Troubleshooting
'javac' is not recognized as an internal or external command
:- Ensure Java is added to your system’s
PATH
environment variable. Refer to your operating system’s documentation to add the Javabin
directory to thePATH
.
- Ensure Java is added to your system’s
- Specify Java Version (if multiple versions are installed):
- Use the full path to the desired Java version for compilation and execution:
/path/to/java17/bin/javac HelloWorld.java
/path/to/java17/bin/java HelloWorld
With these steps, your Java 17 code should successfully compile and run from the command line.