redhat-developer / redhat-developer/vscode-java

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.

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

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.

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.

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.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.