JDK_HOME can be sorted after lower-priority auto-detected JDK sources

Open Beginner friendly
#4,426 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
68/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
java, typescript, vscode

Research direction

Locate sortJdksBySource() and inspect how a rank of 0 is checked against the assigned-rank condition. Reproduce the JDK_HOME and JAVA_HOME or PATH setup, then verify that the JDK_HOME entry appears first in Java: Configure Java Runtime.

Written by the indexing model from the issue text.

Description

Describe the bug
When the Java home settings are not set, a JDK configured through JDK_HOME may not be listed first if another JDK is also detected from JAVA_HOME or PATH.

JDK_HOME seems to be intended as the highest-priority source.

To Reproduce

  1. Leave java.jdt.ls.java.home, java.home, and java.configuration.runtimes unset.
  2. Make sure java.configuration.detectJdksAtStart is enabled.
  3. Configure JDK_HOME with one valid JDK.
  4. Configure JAVA_HOME, or PATH, with a different valid JDK.
  5. Restart VS Code.
  6. Open Java: Configure Java Runtime and check the detected JDK order.

Actual behavior
The JDK from JDK_HOME may appear after the other detected JDK.

Expected behavior
The JDK from JDK_HOME should appear first.

Environment

  • Operating System: macOS
  • JDK version: JDK 17 from JDK_HOME, JDK 25 from JAVA_HOME
  • Visual Studio Code version: 1.125.0-insider
  • Java extension version: 1.55.0

Additional Information
sortJdksBySource() gives JDK_HOME rank 0, but the later rank check does not treat 0 as an assigned rank.

Dominant language
TypeScript
Stars
2.3k
Forks
547
Avg merge
20h 1m
Merged PRs (30d)
11

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from redhat-developer/vscode-java

All issues in redhat-developer/vscode-java

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.